3
Knockout的Observable Arrays可讓您「訂閱」陣列更改just like any other observable的更改。 「訂閱」回調函數接收一個參數,並且這是數組的值。下面是一個例子(fiddle):在Knockout可觀察數組訂閱函數中,您可以確定添加或刪除了哪些元素?
var oa = ko.observableArray(['some','initial','data']);
oa.subscribe(function(newValue){
console.log("Array was updated! Now it's:");
console.log(newValue);
// But which item was added?
});
oa.push("more data!");
setTimeout(function(){
oa.remove("some");
},1500);
不過,我想知道,得到了添加到觀察的陣列哪些因素。有沒有辦法做到這一點?如果我可以將舊數組與新數組進行比較,那麼我可以確定添加或刪除了哪些項目。但是,似乎在調用「訂閱」函數回調時,沒有辦法訪問「前一個」數組值。在那兒?
正是我一直在尋找。謝謝! – Josh
這是記錄在任何地方嗎?我似乎無法在任何地方找到在knockoutjs.com上提到的這個...? – Josh
它只是在挖空發佈說明中提到https://github.com/knockout/knockout/releases – huocp