【发布时间】:2013-06-03 13:54:37
【问题描述】:
我希望在集合中所有对象的 IsSelected 属性设置为 false 时禁用按钮。
要深入观察集合以在属性更改时采取行动,我会这样做:
$scope.$watch('messages', function (i) {
//do something
}, true);
但集合太大(实际上我只有两个元素,但这些都是大对象)并且我在“内存不足”异常中运行。
那么,我应该怎么做呢?
[编辑]
遵循@boxed 建议:
$scope.$watch(function () {
return $($scope.messages).map(function () {
return this.IsSelected;
});
}, function (e) {
//do something
});
它仍然很慢,我遇到了错误:
- 错误执行 JavaScript:达到 10 次 $digest() 迭代。中止!
【问题讨论】:
-
如果你只是想看collectionn中对象的添加和删除,那么你可以看'messages.length'
-
你能用你需要观看的项目制作一个影子版本的对象吗?
标签: angularjs