我正在尝试制作一些可重复使用的倒计时小部件。使用静态内容效果很好,但是当我尝试动态添加它们时,我的指令无法理解ngRepeat内部的变量。

标记:

<div ng-repeat="cdn in countdowns" class="countdown" countdown-end="{{cdn}}">
  <p ng-hide="over">{{days}} jours {{hours}} heures {{minutes}} min {{seconds}} sec</p>
  <p ng-show="over">Done</p>
</div>

指示:
...
link: function(scope, elm, attrs) {
  scope.days = '1';
  ...
}
...

http://jsfiddle.net/hFGb7/14/

感谢您的答复。

最佳答案

问题在于,调用时间链接功能时不会运行插值。因此{{cdn}}的值不可用。有几种处理方法:

  • 您可以在链接函数中直接使用cdn,因为它在示波器上可用。但这将使指令取决于范围中cdn的存在。
  • 获取使用插值的属性值的推荐方法是使用$ observe。检查此:http://jsfiddle.net/hFGb7/28/
  • 关于AngularJS:ngRepeat和指令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13526584/

    10-13 08:57