使用Mixins和我的Backbone视图时出现问题

时间:2013-02-28 20:34:27

标签: javascript jquery backbone.js underscore.js mixins

我想在我的BackBone Views中使用mixins。

这是我的mixin:

var mixin = {
  events: {
    "click" : "doStuff"
  },
  doStuff: function() { alert("bah!"); }
}

以下是我将它混合成两个独立视图的方式:

var view1 = Backbone.View.Extend({ ... });
_.extend(view1.prototype, mixin);

var view2 = Backbone.View.Extend({ ... });
_.extend(view2.prototype, mixin);

我遇到的麻烦是点击事件似乎只在view1中有效。如果我首先初始化view 2,则点击事件仅适用于view2

任何想法我做错了什么?

先谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您可以覆盖主干上的extend方法,因为您期望继承和合并。你只需要稍微深入一点文档,找到你想要的对象。

这样你就有了一个BaseObject,然后从你的两个对象延伸出来。