我是一个backbone.js n00b,我无法理解如何扩展视图.我有一个基本的"项目"模型和视图.我想将模型和视图扩展为"specificItem".有没有办法在扩展视图中添加事件而不是全部替换它们?
物品查看:
var itemView = Backbone.View.extend({
...
events: {
"click" : "foo"
, "dblclick div": "bar"
}
...
});
Run Code Online (Sandbox Code Playgroud)
具体项目查看:
var specificItemView = itemView.extend({
...
// I'd like this to simply add an event handler not replace the ones defined above
events: {
"contextmenu" : "baz"
}
...
});
Run Code Online (Sandbox Code Playgroud)
是否支持以这种方式扩展视图,或者我们只能对模型进行扩展?
如果我没有弄错,延伸不会递归,但你可以自己做.我认为这样的事情应该有效:
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),
...
});
Run Code Online (Sandbox Code Playgroud)
这是证明,扩展不会递归合并