【问题标题】:Angular directive data binding not working inside ng-showAngular 指令数据绑定在 ng-show 中不起作用
【发布时间】:2016-05-31 08:01:38
【问题描述】:

这是example jsfiddle。我正在尝试ng-model点击某些东西的值。但是这个值在directive 中没有更新。我也试过$scope.$watch。我很抱歉英语不好和新手angularjs

    <div ng-click=show()>show directive</div>
<div ng-show="afterSomeTime">
<div class="star-rating" star-rating rating-value="rating"

 data-max="10" on-rating-selected="rateFunction(rating)"></div>sdsadasdasd</div>

这里我试图在一些点击事件后触发指令,但我无法实现。查看该示例 js fiddle 链接

【问题讨论】:

  • 请在帖子中贴出相关代码
  • 他做到了 - 有一个 jsfiddle 示例的链接
  • 您在什么环境中运行,因为您的示例按预期工作(Chrome 50.0)。更新了 ngShow 中的绑定示例 - jsfiddle.net/wuqcnmh9/1
  • @user1136560 抱歉更新了
  • @saad 更新抱歉耽搁了

标签: angularjs angularjs-directive angularjs-scope


【解决方案1】:

从第 43 行开始

scope.$watch('ratingValue',
    function(oldVal, newVal) { //<-this is where you did wrong
        if (newVal) {
            updateStars();
        }
    }
);

只需交换 oldValnewVal,我相信你现在应该可以正常工作了。

【讨论】:

【解决方案2】:

你必须先用一些初始值定义 $scope.rating,然后你才能将它与指令绑定。

code https://jsfiddle.net/nbakliwal18/aL7cs9je/1/

【讨论】:

  • 感谢您的回答对我有帮助。但仍然需要查看其他答案。我认为两者都是正确的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多