我是一個backbone.js n00b,所以請忍受我。backbone.js查看事件不發射
我想動態生成一個使用backbone.js的聯繫人列表,並附加一個onclick事件處理程序給每個,都無濟於事。我的視圖渲染正常,但點擊事件沒有註冊。這裏是我的代碼:
App.Views.Contact = Backbone.View.extend({
initialize: function() {
this.render();
},
events: {
'click': 'select',
},
select: function(event) {
console.log('contact selected');
},
render: function() {
$('#contacts').append(tmplContact(this.model.toJSON()));
}
});
更新:這裏是相應的收集
App.Collections.Contact = Backbone.Collection.extend({
initialize: function() {
this.bind('reset', function() {
console.log('COLLECTION RESET');
});
},
model: App.Models.Contact,
comparator: function(model) {
return model.get('name');
}
});
更新#2的代碼:集合初始化和人口
App.Collections.roster = new App.Collections.Contact;
function getContacts() {
socketRequest('friends', function(data) {App.Collections.roster.reset(data)});
}
更新#3:模型定義
App.Models.Contact = Backbone.Model.extend({
initialize: function() {
this.set({id: this.get('token')});
this.set({avatar: parseAvatar(this.get('avatar'))});
this.set({name: parseName(this.toJSON())});
this.set({view: new App.Views.Contact({model: this})});
},
defaults: {
username: ''
}
});
你也在使用一個集合嗎? – roberkules 2012-01-12 01:30:27
是的,我正在使用集合 – 2012-01-12 01:35:37