私は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()));
}
});
UPDATE:コレクションの初期化と人口
App.Collections.roster = new App.Collections.Contact;
function getContacts() {
socketRequest('friends', function(data) {App.Collections.roster.reset(data)});
}
UPDATE#3:モデルの定義ここでは、対応するコレクション
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');
}
});
UPDATE#2のコードはここに私のコードです
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
はい私はコレクションを使用しています –