在我的淘汰应用程序中,我试图使用remove
方法删除一个元素。
但是我遇到了错误
。删除不是功能
下面是代码
ActivityArray = ko.observable([]);
ActivityArray(result.Regular); //Result of an api call
ActivityArray.remove(function (element) { return element.Name === 'abc'; })
无法理解为什么它不起作用。我在其他地方和其他地方都使用过remove
,效果很好。
请指导
谢谢
答案 0 :(得分:2)
.remove
功能仅适用于observableArray
。但是您将ActivityArray
设置为observable
。将其更改为observableArray
ActivityArray = ko.observableArray([]);
答案 1 :(得分:0)
您必须使用observableArray
(https://knockoutjs.com/documentation/observableArrays.html),而不是observable
。
var viewmodel = function(){
var self = this;
var ActivityArray = ko.observableArray([]);
var result = {
"Regular":[
{"Name": "abc"},
{"Name": "xyz"}
]
};
ActivityArray(result.Regular); //Result of an api call
console.log("Before remove: ", ActivityArray());
ActivityArray.remove(function (element) { return element.Name === 'abc'; });
console.log("After remove: ", ActivityArray());
};
ko.applyBindings(new viewmodel());
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>