繁体   English   中英

在observableArray淘汰赛JS中切换值?

[英]Toggle values in observableArray Knockout JS?

基本上我有一个列表,列表中的每个项目都有一个唯一值。 如果单击列表项,我希望将值添加到可观察数组中或从中移除。 因此,如果该值存在于数组中,我想将其删除,反之亦然。

数组的结构很简单:

var items = ko.observableArray([
    "value1",
    "value2"
]);

该列表将包含带有value1value2输入。 如果单击具有value2的列表,我想将其从数组中删除,如果没有,则需要pushpush数组。

所以基本上我需要在数组中切换一个项目。

敲除.js有可能吗? 谢谢!

当然。 淘汰赛的observableArray内置了一个indexOf方法。将其与pushremove一起使用即可完成您所要的操作。 这样的事情应该起作用:

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);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM