Javascript 观察AngularJS中对象的所有属性
我的$scope中有一个对象,它包含以下属性:Javascript 观察AngularJS中对象的所有属性,javascript,angularjs,angularjs-watch,Javascript,Angularjs,Angularjs Watch,我的$scope中有一个对象,它包含以下属性: $scope.content = { name : 'myname', description : 'mydescription', keyword : 'some keyword' } 现在我想听听每个属性的每一个变化。我在它自己的对象上设置了watch,但无法更改它的属性。它的属性是通过绑定到一些输入字段从UI中更改的 $scope.$watch('content', function(){ // do
$scope.content = {
name : 'myname',
description : 'mydescription',
keyword : 'some keyword'
}
现在我想听听每个属性的每一个变化。我在它自己的对象上设置了watch,但无法更改它的属性。它的属性是通过绑定到一些输入字段从UI中更改的
$scope.$watch('content', function(){
// do some work
}
当我在某些属性上设置watch(如下所示)时,我可以在该属性中获得更改
$scope.$watch('content.name', function(){
// do some work
}
是否有任何方法可以在不对所有属性设置“监视”的情况下侦听对象属性的更改?使用的第三个参数,如下所示:
$scope.$watch('content', function(){
// do some work
}, true);
如果这是真的,则表达式的计算对象相等,这意味着包含属性。否则,它只是作为参考进行计算。使用的第三个参数,如下所示:
$scope.$watch('content', function(){
// do some work
}, true);
如果这是真的,则表达式的计算对象相等,这意味着包含属性。否则它的计算只是为了参考。我们可以通过将第三个参数传递为true来使用等式$watch,因为API引用$watch接受以下三个参数 $WatchExpression,侦听器,[objectEquality] 如果第三个参数为true,它将监视对象内的所有属性
$scope.$watch("content",function(){},true);
有关$watch的更多信息,请参阅下面的视频
我们可以通过将第三个参数传递为true来使用Equality$watch,因为API引用$watch接受以下三个参数 $WatchExpression,侦听器,[objectEquality] 如果第三个参数为true,它将监视对象内的所有属性
$scope.$watch("content",function(){},true);
有关$watch的更多信息,请参阅下面的视频