gpt4 book ai didi

backbone.js - 在 backbone.js 中扩展 View 时添加事件处理程序?

转载 作者:行者123 更新时间:2023-12-01 10:08:21 25 4
gpt4 key购买 nike

我是 backbone.js n00b,我无法理解如何扩展 View 。我有一个基本的“项目”模型和 View 。我想将模型和 View 都扩展为“specificItem”。有没有办法在扩展 View 中添加事件而不是全部替换它们?

项目 View :

var itemView = Backbone.View.extend({
...
events: {
"click" : "foo"
, "dblclick div": "bar"
}
...
});

特定项目 View :

var specificItemView = itemView.extend({
...
// I'd like this to simply add an event handler not replace the ones defined above
events: {
"contextmenu" : "baz"
}
...
});

是否支持以这种方式扩展 View ,或者我们只能对模型这样做吗?

最佳答案

如果我没记错的话,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),
...
});

Here is the proof , extend 不会递归合并

关于backbone.js - 在 backbone.js 中扩展 View 时添加事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8233245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com