我想从ko.observableArray中删除一个对象 我有两个observableArrays
self.arrayA = ko.observableArray();
self.arrayB = ko.observableArray();
然后在一个函数中我想删除一个项目。
self.myRemoval = function(item){
var arrayToRemoveFrom;
if ( somelogic ) {
arrayToRemoveFrom = self.arrayA();
}
else {
arrayToRemoveFrom = self.arrayB();
}
arrayToRemoveFrom.remove(item);
}
“arrayToRemoveFrom.remove(item)”行导致异常,说删除不是函数。删除“item”的最佳方法是什么?
答案 0 :(得分:4)
remove
是special function of the ko.onservableArray
。
但是当您在self.arrayA();
处写()
时,您将返回没有remove
函数的底层JavaScript数组,并且您将获得异常。
要修复代码,只需删除()
:
self.myRemoval = function(item){
var arrayToRemoveFrom;
if ( somelogic ) {
arrayToRemoveFrom = self.arrayA;
}
else {
arrayToRemoveFrom = self.arrayB;
}
arrayToRemoveFrom.remove(item);
}