如何查看observableArray更改

如何查看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; 
}); 
+0

这样可以在所有添加*和*的情况下工作吗? – 2013-02-16 06:43:04

请尝试下面的代码,这可能会有所帮助。

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 

});