我的問題很簡單,但經過很多搜索我找不到答案。有沒有什麼辦法可以看到一個數組的變化,並在添加一個新的元素時觸發一個函數,例如在這個元素被調用。Angular js watchexpression cacth新元素
$ watchExpression在數組中被推入一個新元素時工作正常,但它沒有提供任何有關添加元素的信息。我正在考慮實現一個包含兩個變量的函數,一個是在添加新元素之前包含數組,另一個是包含數組新狀態的變量並對它們進行比較,所以我可以找到添加的元素,但是這個解決方案似乎很不清楚效率低下。有沒有更好的解決方案?
預先
THX我嘗試這樣做:
$scope.names = ['igor', 'matias', 'misko', 'james'];
$scope.$watchCollection('names', function(newNames, old) {
console.log(newNames);
console.log(old);
});
$scope.names.push("john");
但輸出是這樣的:
[ 「伊戈爾」, 「馬蒂亞斯」, 「MISKO」, 「詹姆斯」 , 「約翰」]
[ 「伊戈爾」, 「馬蒂亞斯」, 「MISKO」, 「詹姆斯」, 「約翰」]
您不能將新名稱用作變量的名稱。編輯:我沒有看到你編輯已經 –