我是骨干.js n00b并且无法理解如何扩展视图。我有一个基本的“项目”模型和视图。我想将模型和视图扩展为“specificItem”。有没有办法在扩展视图中添加事件而不是全部替换它们?
项目视图:
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"
}
...
});
是否支持以这种方式扩展视图或者我们只能对模型进行扩展?
答案 0 :(得分:7)
如果我没有弄错,延伸不会递归,但你可以自己做。我认为这样的事情应该有效:
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),
...
});
Here is the proof,该扩展不会合并递归