Как удалить элементы из can.List в CanJS

Я новичок в CanJS. Мне было интересно, как удалить элементы из can.List, не используя pop().

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

Как удалить элемент в списке с selected=true? Или есть способ удалить по индексу. Документация говорит, что pop() - это единственный способ, а также соединение.


person Jry9972    schedule 25.08.2014    source источник


Ответы (1)


Вы определенно можете использовать сращивание или фильтровать список по выбранному атрибуту, а затем заменить его:

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 будет содержать только выбранные элементы.

person Daff    schedule 25.08.2014