如何查看observableArray更改
问题描述:
我正在使用knockout_2.0.js。我有一个observableArray,我设置了订阅。像:如何查看observableArray更改
var Items = ko.observableArray();
Items.subscribe(function(newValue){
//I want to check here whether the item is Added or Deleted from the array
});
我该怎么做?
答
如果您只是想知道是否添加或删除了某些内容,则可以使用外部范围上的变量轻松跟踪该内容。
var items = ko.observableArray();
var itemLen = items.length;
items.subscribe(function (newValue) {
//I want to check here whether the item is Added or Deleted from the array
if (itemLen > items.length) {
// Item removed
} else if (itemLen < items.length) {
// item added
} else {
// something else was modified
}
itemLen = items.length;
});
答
请尝试下面的代码,这可能会有所帮助。
var Items = ko.observableArray();
var ItemsLength = ko.observableArray();
this.ItemsLength = ko.computed({
read: function() {
return this.Items().length;
}
});
this.ItemsLength.subscribe(function(newValue){
//you will get control over here whether the
item is Added or Deleted from the array
});
这样可以在所有添加*和*的情况下工作吗? – 2013-02-16 06:43:04