0
我是骨幹和骨幹佈局管理器的新手。我正在嘗試呈現聯繫人列表。這裏是代碼Backbone Layout Manager項目的渲染列表
var ContactListView = Backbone.Layout.extend({
tagName: 'li',
initialize: function(){
console.log('ContactListView init');
this.render();
},
render: function(){
console.log('Rendering all items in the contact list');
_(this.collection.models).each(function (contact){
var contactlistitem = new ContactListItemView({model: contact});
self.$el.append(contactlistitem.el);
});
}
});
var ContactListItemView = Backbone.Layout.extend({
initialize: function(){
this.render();
},
render: function(){
console.log('called');
var template = Handlebars.compile($('#contact-list-item').html());
this.el.html(template(this.model));
}
});
一個片段,當我瀏覽網頁控制檯登錄「ContactListView初始化」,但不輸出「呈現在聯繫人列表中的所有項目」。爲什麼是這樣?在
beforeRender: function(){
console.log('Rendering all items in the contact list');
var self = this;
this.collection.each(function (contact) {
var contactlistitem = new ContactListItemView({model: contact});
self.insertView(contactlistitem);
});
}
別的地方在你的代碼,或許是:
我懷疑'_(this.collection.models)'與它有關,因爲這看起來是無效的語法。也許你的意思是用直括號? '_ [this.collections.models]' – srquinn
其中是試圖呈現「ContactListView」的代碼?你確定它正在實例化和渲染? – bejonbee
我的回答有幫助嗎?如果是的話,你能把它標記爲正確的嗎?如果不是,你能澄清你仍然有疑問的地方嗎? – bejonbee