我正在阅读有关如何使用 Backbone.js 的信息,但与最新版本的 Backbone 库相比,似乎所有在线可用的文章都已过时?这没有帮助!
例如,我看到 nettuts 的一篇文章(首先出现在 Google 结果中)讨论了关于使用的讨论,Backbone.Controller
但该文章已从 Backbone 中删除,因此难以发现。
但无论如何,我的问题是关于 Backbone 中的事件对象。
使用“视图”,您可以...
var ContactsView = Backbone.View.extend({
initialize: function(){
console.log('View initialized');
},
events: {
'change select': 'displaySelected'
},
displaySelected: function (event) {
console.log('get model data and display selected user', event);
}
});
...但是您不能将events
属性与 a 一起使用Collection
,而是需要在方法中使用 jQuery 的 bindinitialize
方法...
var Contacts = Backbone.Collection.extend({
model: Contact,
initialize: function(){
this.bind('add', this.model_added, this);
},
model_added: function(){
console.log('A new model has been created');
}
});
……首先,这是为什么呢?
但更重要的是,第三个论点this
是为了什么?我查看了bind
jQuery 文档(因为在 Backbone 网站上没有提及bind
),它没有第三个参数?