При попытке расширить живой пример для вложенного редактора, представленного на сайте KO ( http://jsfiddle.net/rniemeyer/gZC5k/ ), чтобы изменить макет и добавить более глубокие уровни, я не смог решить две проблемы.
хотя я смог добраться до этого этапа http://jsfiddle.net/gZC5k/955/
Я застрял где-то в построении правильной иерархии в модели,
var ContactsModel = function (contacts) {
var self = this;
self.contacts = ko.observableArray(ko.utils.arrayMap(contacts, function (contact) {
return {
firstName: contact.firstName,
lastName: contact.lastName,
phones: ko.observableArray(contact.phones),
addresses: ko.observableArray(contact.addresses)
};
}));
Две проблемы:
- невозможность добавить новый «Вызов» в «Телефон», загруженный в исходный набор данных (когда я создаю новый телефон, я могу добавить «Вызовы»)
не могу удалить "Вызовы".
self.removeCall = function (call) { $.each(self.phones(), function () { this.calls.remove(call) })
};
Любая помощь приветствуется.