我建立这个代码:如何查看AngularJS中数组中项目数量的变化?
$scope.$watch('grid.view.length', function() {
if ($scope.grid.view != null) {
var a = $scope.grid.view.length;
var pane = $('.scroll-pane').jScrollPane();
pane.data('jsp').reinitialise();
}
})
grid.view
是一个数组。我所需要做的就是查看元素数量是否发生了变化,但是当元素内部的元素数量发生变化时,这似乎不会触发手表。我做错了吗?
Maxim的评论听起来像是一个解决方案,但我现在还不确定。最好是设置一个$ scope变量来保存长度并观察它。我担心它是否做了很多深入的比较,那么这可能是一个性能问题。注意grid.view是相当大的。
如果我使用“true”,那么我是否还需要.length?也可以将$ scope变量设置为$ scope.abc = grid.view.length;然后看那个? –
我会使用'grid.view.length'。因为你只想在长度变化时触发,而不是在内容上触发。它阻止了你额外的观察循环(当然,性能) –