2017-06-19 8 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リファレンス$ウォッチあたりとして、真のように、第3引数を渡すことによって、平等$ウォッチを使用することができますが$見る(watchExpression、リスナー、[objectEquality])

以下のように3つの引数を受け入れます。

3番目の引数がtrueの場合、それはあなたがビデオ https://www.youtube.com/watch?v=IKPrhB8alV4

の下に参照することができます$見る詳細は

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

オブジェクト内のすべてのプロパティを見ます