如何从控制器中观察AngularJS中对象的更改?

时间:2013-10-25 04:50:44

标签: angularjs

假设我在rootScope中有一个对象:

$scope.mydict = {
  'apple': {'properties':{'color':'red', 'texture': 'mm'}, 'physics': {'bouncy': 'no', 'impact': 'breaks'}},
  'pear': {'properties':{'color':'red', 'texture': 'mm'}, 'physics': {'bouncy': 'no', 'impact': 'breaks'}}
}

假设取决于用户如何交互,这个$ scope可能会有越来越多的水果指示的结果。如何添加和处理任何新项目,我如何能够监视字典的更改?

我试过了:

$watch("mydict" ...)

虽然它抱怨mydict不在那里但似乎不允许我看词典。 请注意,$ scope.mydict由我定义的另一个服务初始化,以便从$ scope中填充该变量,因此它可能不存在于负责监视数据更改的指令中

我想要做的是为每个新的水果添加到“mydict”,输出只有该项目的“properties.texture”。如果可以观察并查看是否添加任何新的frutis甚至在做任何事情之前都有“properties.texture”(即警报),那就更好了。虽然我不确定这是否可行。

0 个答案:

没有答案