2017-06-19 29 views
0

在我的$範圍對象的所有屬性我有一個對象,它包含一些屬性,如下列:觀看關於如何在AngularJS

$scope.content = { 
    name : 'myname', 
    description : 'mydescription', 
    keyword : 'some keyword' 
} 

現在我想聽聽在每個屬性的每一個變化。我在自己的對象上設置了監視器,但我無法獲取對其屬性的更改(通過綁定到某些輸入字段,其屬性從UI更改)。

$scope.$watch('content', function(){ 
    // do some work 
} 

當我設置看一些屬性如下,我可以得到該屬性的變化。

$scope.$watch('content.name', function(){ 
    // do some work 
} 

有什麼辦法來聽而不集手錶上的所有屬性改變對象的屬性?

回答

2

使用第三個參數的$watch,像這樣:

$scope.$watch('content', function(){ 
    // do some work 
}, true); 

如果這是真的,因爲對象的相等,這意味着屬性被包括在表達式求值。否則,它只是評估參考。

0

我們可以通過使第三個參數爲真,按API參考$手錶使用平等$手錶接受三個參數如下

$觀看(watchExpression,聽衆,[objectEquality]);

如果第三個參數是真實的,它會看所有屬性的對象

$scope.$watch("content",function(){},true); 

裏面更多的信息在$看你可以參考下面的視頻 https://www.youtube.com/watch?v=IKPrhB8alV4