0

「props」というオブジェクトのプロパティにバインドするために、ngModel ディレクティブで 3 つの入力チェックボックスを使用しています。

$scope.$watchCollection を使用して、「props」のすべてのプロパティ (3 つある) にウォッチを設定しています。

私の $watchCollection コールバック関数では、古いプロパティ値を新しい値と比較する必要がありますが、関数内では、古いプロパティと新しいプロパティは常に同じです!

実際の例を次に示します: http://jsbin.com/eYofakU/3/edit。何が起きてる?

これはAngular 1.2.0-rc.3を使用します

ありがとう!

4

2 に答える 2

1

これは私にとってはうまくいきます。を変更し$watchCollection$watch3 番目のパラメーターを true に設定しました。これにより、Angular は、比較のために監視されているオブジェクトのディープ コピーを作成するように指示されます。

$scope.$watch("props",function(n,o){
    console.log("NEW");
    console.log(n);
    console.log("OLD");
    console.log(o);
    console.log("Why are they the same?!");
},true);
于 2013-10-24T14:49:16.180 に答える