【发布时间】:2014-08-27 22:37:44
【问题描述】:
我正在尝试了解如何最好地在 angularjs 中实现以下目标。
1) 我有一个对象数组:
$scope.myArray = [{special:false, name:'alice'}, {special:false, name:'bob'}];
如果 myArray[0].special 更改为 true,使用 $watch 我如何检测到这是因为数组的元素 0 发生了变化。我在 $watch 上阅读的所有内容都涉及通知整个数组已更改,但无法检索已更改的数组的元素/索引。我想让它处理不同长度的数组,所以仅仅拥有是不够的:
$scope.watch('myArray[0].special')
2) 我有一本字典:
$scope.myValues = {id1:{special:false, name:'alice'}, id2:{special:false, name:bob'}};
一个类似的问题 - 如果我要将 myValues.id1.special 更改为 true,我怎样才能获得相应的名称字段(或知道它是 id1)?
我非常感谢您在此处提供有关最佳实践的任何帮助和指导,以及 angularjs 和 $watch(或 $watchcollection)在数组和地图方面的实际可能。我认为这类似于问题AngularJS : Watch array of objects and animate the changed property,但我也有兴趣了解如何查看字典中的所有属性。
非常感谢。
【问题讨论】:
-
也许这可以帮助你回答#1:stackoverflow.com/questions/13980896/…
标签: javascript arrays angularjs