2015-09-05 68 views
0

存在对象。它是动态的,其中的数据不断变化,如此说。在AngularJS中跟踪多级对象中的更改

$scope.object = { 
    "className": "?????", 
    "property": [ 
     { 
      "name": "???" 
     }, 
     { 
      "prado": "???" 
     } 
    ] 
} 

需要什么?并且项目$scope.object需要监视对象的所有级别的任何变化。也许有一种方法类似于$watchCollection,只有先进?或另一种方式来跟踪?

我会很高兴的任何提示。先谢谢你!

+0

如果angularjs为你做UI更新,那么看整个对象的原因是什么? –

回答

0

$腕表拥有第三个可选的参数:

$watch(watchExpression, listener, [objectEquality]); 

根据文档:

当objectEquality == true,则watchExpression的不平等是 根据angular.equals函数确定。要保存对象的值 以供以后比较,请使用angular.copy函数。因此,这意味着观看复杂的物体将会产生不良的记忆和性能影响。

https://docs.angularjs.org/api/ng/type/$rootScope.Scope

又见How to deep watch an array in angularjs?

但是小心使用。

+0

谢谢罗伯特!这第三个选项有所帮助。我会小心的。 – pr0r0k131