可观察数组上的淘汰赛删除功能不起作用
Knockout remove function on observable array not working
在我的剔除应用程序中,我尝试使用 remove
方法删除一个元素。
但我收到错误
.remove is not a function
下面是代码
ActivityArray = ko.observable([]);
ActivityArray(result.Regular); //Result of an api call
ActivityArray.remove(function (element) { return element.Name === 'abc'; })
无法理解为什么它不起作用。我在其他地方使用过 remove
,其他地方都工作正常。
请指导
谢谢
.remove
功能仅适用于 observableArray
。但是您将 ActivityArray
设置为 observable
。将其更改为 observableArray
ActivityArray = ko.observableArray([]);
您必须使用 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>
在我的剔除应用程序中,我尝试使用 remove
方法删除一个元素。
但我收到错误
.remove is not a function
下面是代码
ActivityArray = ko.observable([]);
ActivityArray(result.Regular); //Result of an api call
ActivityArray.remove(function (element) { return element.Name === 'abc'; })
无法理解为什么它不起作用。我在其他地方使用过 remove
,其他地方都工作正常。
请指导
谢谢
.remove
功能仅适用于 observableArray
。但是您将 ActivityArray
设置为 observable
。将其更改为 observableArray
ActivityArray = ko.observableArray([]);
您必须使用 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>