bootstrap-timepicker指令在ng-repeat中不起作用

时间:2014-03-06 17:31:04

标签: angularjs twitter-bootstrap angularjs-directive

Plunker demo

我正在尝试创建一个任意数量的timepicker,当硬编码时它们工作正常,但当我将它们放入ng-repeat时它就会停止工作。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

我刚刚使用更好的解决方案更新了Plunker

Tiago answered AngularJS ng-repeat finish event有一个很好的指令,可以在不使用$timeout

的情况下解决您的问题

以下是该指令的副本:

app.directive('myRepeatDirective', function() {
   return function(scope, element, attrs) {
      if (scope.$last) {
         $('.bootstrap-timepicker').timepicker();
      }
   };
});

HTML:

<li ng-repeat="list in lists" my-repeat-directive>
   {{list.name}}
   <div class="input-append">
      <input type="text" class="bootstrap-timepicker">
      <span class="add-on"><i class="icon-time"></i></span>
   </div>
</li>

这样做更好,因为如果转发器需要来自ajax请求的数据,则可能必须更改超时并导致丑陋的用户体验。

Tiago的方法似乎最好处理它,在我看来,你可能也想给他一个upvote:)