ng重复更新后的指令

时间:2013-04-08 14:10:02

标签: angularjs ng-repeat

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

我已经尝试检查范围。$ last在我的指令中,但是在每个ng-repeat过程结束时都没有调用。如果某些数据保持不变,则可能无法设置范围。$ last to true。

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

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

1 个答案:

答案 0 :(得分:10)

这是一个适合您的解决方案。请注意,最后一次触发每次。

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

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

相关问题