主幹未使用爲集合指定的模型。我肯定錯過了什麼。Backbone.js未使用集合模型值
App.Models.Folder = Backbone.Model.extend({
initialize: function() {
_.extend(this, Backbone.Events);
this.url = "/folders";
this.items = new App.Collections.FolderItems();
this.items.url = '/folders/' + this.id + '/items';
},
get_item: function(id) {
return this.items.get(id);
}
});
App.Collections.FolderItems = Backbone.Collection.extend({
model: App.Models.FolderItem
});
App.Models.FolderItem = Backbone.Model.extend({
initialize: function() {
console.log("FOLDER ITEM INIT");
}
});
var folder = new App.Models.Folder({id:id})
folder.fetch();
// later on change event in a view
folder.items.fetch();
該文件夾被加載,然後加載項目,但它們不是FolderItem對象,並且從不調用FOLDER ITEM INIT。它們是基本的模型對象。
我錯過了什麼?我應該這樣做嗎?
編輯: 不知道爲什麼這項工作與文檔,但下面的作品。主幹5.3
App.Collections.FolderItems = Backbone.Collection.extend({
model: function(attributes) {
return new App.Models.FolderItem(attributes);
}
});
啊,這是有道理的。謝謝! – Candland
這讓我感到很開心。它造成了非常神祕的錯誤。我認爲這應該在文檔中突出顯示。 – UpTheCreek