我遇到一个奇怪的问题,因为我的指令似乎是在陈旧的row.entities上执行,这意味着当你向下滚动或修改网格的类型时它不会获得新的值.最初的~20行渲染得很好但过去指令与行解除关联.
看到我非常黑客的例子here.
解决方法
看起来在传递给指令更改的表达式的排序值期间,表达式本身保持不变.
你应该改变范围&表达式绑定到=值绑定(并使用scope.installs访问该值,无需函数调用),然后您将能够跟踪更改.
// ... scope: { installs: '=' },// ...
然后,要跟踪更改,您可以使用范围.$watch并将您的代码放入其中.
link: function (scope,element,attrs) { scope.$watch('installs',function(newValue) { // your code,you can use newValue as current installs value var installs = newValue; // ... }); }
例here.