angularjs - ngRepeat 更新后的指令

标签 angularjs ng-repeat

当 ng-repeat 完成更新时,我在触发指令时遇到了一些 AngularJS 问题。我有三个命名数组,通过三个链接切换到,允许 ng-repeat 显示选定的数组。我想在完成后关闭一些代码,因为我打算设置一些元素属性供 D3 使用。

我试过在我的指令中检查 scope.$last ,但这不是在每个 ng-repeat 进程结束时调用的。如果某些数据保持不变,则可能不会将 scope.$last 设置为 true。

http://plnkr.co/edit/hwmOlI6YrgS4H1C1h7k2?p=preview

那么,当 ng-repeat 完成时,在指令中触发代码的最佳方法是什么?

最佳答案

这是为您提供的解决方案。请注意, last 现在每次都触发。

http://plnkr.co/edit/xV1quqzorzxliS2shrP4?p=preview

您只需要$watch $ last变量,它会正常工作。这有助于在 scope 的情况下不是创建而是用新值更新。您的指令创建一次,如果重复变量之一只是更改值 ng-repeat优化并仅更新值(而不是删除所有值并重新创建新值。)。在这种情况下,$scope.$last将是一个更新的变量,而不是“创建”的东西。所以,你需要$watch它。

关于angularjs - ngRepeat 更新后的指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15881362/

相关文章:

javascript - 如何动态分配跨度的宽度

angularjs - 如何在列表发生 Angular 变化时更新 $index

angularjs - Angular $scope.model 不会绑定(bind)到 ng-repeat

angularjs - 如何使用 ngrepeat、AngularJS 注入(inject)列表的空行

javascript - 在 AngularJS 中解析解析之前加载 Controller

angularjs - 使用指令中要求的父 Controller

javascript - BingMap - 获取空错误的原型(prototype)

javascript - AngularJS 注入(inject)器问题

angularjs - 当数组中的对象列表时,ng-repeat 中不允许出现重复错误

javascript - 分组 ng-repeat 和修改 DOM 外部指令