1

我是 CanJS 的新手。我想知道如何不使用 pop() 删除 can.List 中的元素。

var todos1=new can.List([
              {name: "Apple",selected: false},
              {name: "Ball",selected: true},
              {name: "Cat",selected: false}                
            ]);

如何使用 selected=true 删除列表中的元素?或者有什么办法可以根据索引删除。文档告诉 pop() 是唯一的方法,也是拼接的。

4

1 回答 1

3

您绝对可以使用splice或按所选属性过滤列表,然后替换它:

var todos1=new can.List([
  {name: "Apple",selected: false},
  {name: "Ball",selected: true},
  {name: "Cat",selected: false}                
]);

todos1.replace(todos1.filter(function(todo) {
  return todo.attr('selected') === true;
}));

现在todos1将只包含选定的元素。

于 2014-08-25T18:34:20.367 回答