2014-04-21 64 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);