Angularjs:ngRepeat和指令

时间:2012-11-23 09:53:56

标签: angularjs directive

我正在尝试制作一些可重复使用的倒计时小工具。适用于静态内容,但是当我试图动态添加它们时,我的指令不理解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/

感谢您的回复。

1 个答案:

答案 0 :(得分:5)

问题是插值不是由调用时间链接函数运行的。因此{{cdn}}的值不可用。有几种方法可以解决这个问题:

  1. 您可以直接在链接功能中使用cdn,因为它在范围内可用。但这会使指令依赖于范围内cdn的存在。
  2. 获取使用插值的属性值的推荐方法是使用$ observe。请检查:http://jsfiddle.net/hFGb7/28/