基本上我有一个列表,列表中的每个项目都有一个唯一的值。如果单击列表项,我希望在可观察数组中添加或删除该值。因此,如果数组中存在该值,我想删除它,反之亦然。
数组的结构很简单:
var items = ko.observableArray([
"value1",
"value2"
]);
该列表将包含value1
和value2
的输入。如果点击了包含value2
的列表,我想将其从数组中删除,如果没有,我需要push
它到数组。
所以基本上我需要在数组中切换一个项目。
这可以用knockout.js吗?谢谢!
答案 0 :(得分:2)
不确定。 Knockout的observableArray内置了indexOf
方法。使用它,以及push
和remove
来做你想要的。这样的事情应该有效:
function toggle(value){
if (items.indexOf(value) < 0){
//it's not in the array - push it
items.push(value);
} else {
//it's there - remove it
items.remove(value);
}
}