0
我在看這個例子: http://knockoutjs.com/examples/contactsEditor.html使用的映射Knockout.js聯繫人編輯器實例
我需要得到同樣的例子與映射插件工作
我使用類似的東西,但更復雜數組,嵌套6層深。我很確定,如果我有這個例子,但使用映射插件,我會沒事的。
對於我猜測它的下面是沿着線的東西:
var initialData = [
{ firstName: "Danny", lastName: "LaRusso", phones: [
{ type: "Mobile", number: "(555) 121-2121" },
{ type: "Home", number: "(555) 123-4567"}]
},
{ firstName: "Sensei", lastName: "Miyagi", phones: [
{ type: "Mobile", number: "(555) 444-2222" },
{ type: "Home", number: "(555) 999-1212"}]
}
];
var ContactsModel = function(contacts) {
var self = this;
//我完全失去了這一點!?!? //
self.contacts = ko.mapping(contacts, function(contact) {
return { firstName: contact.firstName, lastName: contact.lastName, phones: ko.observableArray(contact.phones) };
});
self.addContact = function() {
self.contacts.push({
firstName: "",
lastName: "",
phones: ko.observableArray()
});
};
self.removeContact = function(contact) {
self.contacts.remove(contact);
};
self.addPhone = function(contact) {
contact.phones.push({
type: "",
number: ""
});
};
self.removePhone = function(phone) {
$.each(self.contacts(), function() { this.phones.remove(phone) })
};
self.save = function() {
self.lastSavedJson(JSON.stringify(ko.toJS(self.contacts), null, 2));
};
self.lastSavedJson = ko.observable("")
};
ko.applyBindings(new ContactsModel(initialData));
謝謝!這很簡單,我已經打了好幾天了! – user1977907 2013-03-15 21:05:39
別擔心,在那裏,做到了! :) – 2013-03-15 21:09:46