我正在创建一个 Backbone.js 插件,它在给定提供的 JSON 数据的情况下提供基本的网格布局。我的问题是我不确定如何在不更改插件本身的情况下将事件绑定到 View 类。我宁愿不这样做——我宁愿让插件的用户能够扩展视图,或者改变它的原型来绑定自定义事件。
插件中的 View 是一个基本视图,没有绑定任何事件。它还包含一些其他功能,为简单起见,我省略了这些功能。
FlipCard.CardView = Backbone.View.extend({
tagName: 'div',
className: 'card',
// and more
});
我尝试在单独的 app.js 文件中使用原型属性来绑定事件,但它们似乎没有被触发。
FlipCard.CardView.prototype.events = {
'click .card' : 'alert'
};
FlipCard.CardView.prototype.alert = function(){
alert("hello!");
};
而且我对 .extend({}) 函数很熟悉,但是除非我能以某种方式通知插件使用视图的扩展版本,否则这将不起作用……我宁愿不这样做。
关于我应该在这里做什么的任何想法?
编辑:原来这是一个愚蠢的错误。因为视图有“.card”类,并且我试图将点击事件绑定到“.card”,所以没有必要放入“点击.card”。相反,事件应该是:
FlipCard.CardView.prototype.events = {
'click' : 'alert'
};