Показать сообщение отдельно
  #1 (permalink)  
Старый 19.10.2012, 14:04
Yes Yes вне форума
Интересующийся
Отправить личное сообщение для Yes Посмотреть профиль Найти все сообщения от Yes
 
Регистрация: 12.08.2011
Сообщений: 17

Не получается удалить элемент Knockout
Всем привет!
В процессе изучения 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 Что я не так делаю?
Ответить с цитированием