Как удалить элементы из 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 () - единственный способ, а также соединение.
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
будет содержать только выбранные элементы.