在backbone.js中扩展视图时添加事件处理程序?
我是backbone.js n00b,在理解如何扩展视图时遇到困难。我有一个基本的“项目”模型和视图。我想将模型和视图都扩展为“specificItem”。有没有办法在扩展视图中添加事件而不是全部替换它们 项目视图:在backbone.js中扩展视图时添加事件处理程序?,backbone.js,Backbone.js,我是backbone.js n00b,在理解如何扩展视图时遇到困难。我有一个基本的“项目”模型和视图。我想将模型和视图都扩展为“specificItem”。有没有办法在扩展视图中添加事件而不是全部替换它们 项目视图: var itemView = Backbone.View.extend({ ... events: { "click" : "foo" , "dblclick div": "bar" } ... }); var specificIt
var itemView = Backbone.View.extend({
...
events: {
"click" : "foo"
, "dblclick div": "bar"
}
...
});
var specificItemView = itemView.extend({
...
// I'd like this to simply add an event handler not replace the ones defined above
events: {
"contextmenu" : "baz"
}
...
});
特定项目视图:
var itemView = Backbone.View.extend({
...
events: {
"click" : "foo"
, "dblclick div": "bar"
}
...
});
var specificItemView = itemView.extend({
...
// I'd like this to simply add an event handler not replace the ones defined above
events: {
"contextmenu" : "baz"
}
...
});
是否支持以这种方式扩展视图,或者我们只能对模型这样做 如果我没有弄错的话,extend不会递归工作,但您可以自己做。我认为这样做应该奏效:
var specificItemView = itemView.extend({
...
// I'd like this to simply add an event handler not replace the ones defined above
events: _.extend({
"contextmenu" : "baz"
}, itemView.prototype.events),
...
});
,该扩展不会递归合并