A partire da KnockoutJS 3.0, c'è un arrayChange subscription option su ko.observableArray.
var myArray = ko.observableArray(["Alpha", "Beta", "Gamma"]);
myArray.subscribe(function(changes) {
// For this example, we'll just print out the change info
console.log(changes);
}, null, "arrayChange");
myArray.push("newitem!");
Nella richiamata sopra, l'argomento cambia sarà un array di oggetti cambiamento come questo:
[
{
index: 3,
status: 'added',
value: 'newitem!'
}
]
Per il vostro problema specifico, si desidera ricevere la notifica di nuovi o rimossi elementi. Per implementare che l'utilizzo di Knockout 3, che sarebbe simile a questa:
myArray.subscribe(function(changes) {
changes.forEach(function(change) {
if (change.status === 'added' || change.status === 'deleted') {
console.log("Added or removed! The added/removed element is:", change.value);
}
});
}, null, "arrayChange");
fonte
2013-10-31 16:42:17
qual è lo stato di un individuo 'modificato'? – beauXjames
Non capisco cosa stai chiedendo quando dici "individuo modificato". –
individuale == istanza di modifiche == modifica ['added', 'deleted', '???', '???', ... ???] – beauXjames