2014-04-21 26 views
1

我有一个$手表功能:

$scope.$watch('something', function(newValue, oldValue) { 
    ... 
}, true); 

我有三个DOM形式元素,每个元素是一个something。当你对它们中的任何一个进行改变时,上面的$ watch函数被调用。

是否可以从$ watch函数中确定三个表单字段中的哪一个调用它并获得对相应DOM元素的引用?

+1

为什么所有三个表单域具有相同的NG-模型= “东西”?放弃您的html也 –

+1

不,因为DOM元素与观察者无关。 – zeroflagL

+0

你不应该在乎,如果你给我们一些代码,我们可以推荐一个更好的方法。 – Nix

回答

0

您需要观察整个阵列并手动检查数组中的所有元素。检查其以前的值和最新的新值。如果两者都是相同的,那么在DOM元素中没有改变,否则元素中会有一些改变。

查看JSFiddle的例子,希望这会对你有所帮助。 http://jsfiddle.net/imhassan66/Th6QM/

$scope.$watch("aArr", function (newValue,oldValue) { 
    console.log("array[0] old value: "+ oldValue[0].val); 
    console.log("array[0] new value: "+ newValue[0].val); 

}, true);