Kể từ KnockoutJS 3.0, có arrayChange subscription option trên 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!");
Trong callback ở trên, đối số thay đổi này sẽ là một mảng của các đối tượng thay đổi như thế này:
[
{
index: 3,
status: 'added',
value: 'newitem!'
}
]
Đối với vấn đề cụ thể của bạn, bạn muốn được thông báo về mới hoặc gỡ bỏ mục. Để thực hiện điều đó bằng Knockout 3, nó sẽ giống như thế này:
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");
Nguồn
2013-10-31 16:42:17
trạng thái của cá nhân 'đã sửa đổi' là gì? – beauXjames
Tôi không hiểu bạn đang hỏi gì khi nói "cá nhân đã sửa đổi". –
cá nhân == thể hiện thay đổi == thay đổi ['đã thêm', 'đã xóa', '???', '???', ... ???] – beauXjames