Всем привет!
В процессе изучения Knockout.js, разбора документации и примеров столкнулся с проблемой, которая завела меня в тупик, а именно у меня не получается удалить элемент методом .remove(),как в примере...
Вот ссылка на пример с офф. сайта
http://knockoutjs.com/examples/contactsEditor.html
копирую, вставляю - все прекрасно работает!
По аналогии делаю свой простенький интерфейс
HTML:
The name is <input data-bind="value: personName" />
<button data-bind="click: add">Add</button>
<ul data-bind="foreach: people">
<li><label data-bind="text: name"></label> <a href='#' data-bind='click: $root.del'> Удалить </a></li>
</ul>
javascript
:
var myViewModel = {
personName: ko.observable(0),
people: ko.observableArray([
{"id":"1", "name":"Fries"},
{"id":"2", "name":"Eggs Benedict"},
{"id":"3", "name":"Ham"},
{"id":"4", "name":"Cheese"}
]),
add: function(){this.people.push({'id':'8','name': this.personName()})},
del: function(pep){this.people.remove(pep);}
};
ko.applyBindings(myViewModel);
В моем случае вылетает ошибка
Uncaught TypeError: Cannot call method 'remove' of undefined Что я не так делаю?