2014-02-06 4 views
0

я сделал observableArray в knockoutjs, и я хочу, чтобы удалить элементы из этого массива и судили какудалить это не функция в наблюдаемом массиве

self.work_days = ko.observableArray(); 

self.work_days().push(new WorkDayVM({}, date)) 
//WorkDayVM is a view model and date is date object this works fine and values are //assigned well in array. 

Но при попытке удалить как

self.work_days.remove(days_to_remove[i]); 
//also tried as self.work_days().remove(days_to_remove[i]); 

I также судили как

for(var i = 0; i < days_to_remove.length; i++){ 
self.work_days.remove(function(item){ 
    return item.work_days.day_string == days_to_remove[i].day_string; 
}); 
} 

Но я всегда получаю ту же ошибку

self.work_days().remove is not a function 
+0

Можете ли вы сделать скрипку, которая воспроизводит вашу проблему? – Damien

ответ

2
self.work_days().remove is not a function 

Попробуйте вызвать .remove() (и .С()) непосредственно на observableArray вместо того, чтобы называть его по значению массива. self.work_days.remove instead из self.work_days().remove

http://jsfiddle.net/NNU77/

0

self.work_days(). Нажать (новый WorkDayVM ({}, дата)) Шоуда быть self.work_days.push (новый WorkDayVM ({}, дата)), а затем вы должен удалить (без)()

Смежные вопросы