Javascript 在主干视图中使用mixin时遇到问题

Javascript 在主干视图中使用mixin时遇到问题,javascript,jquery,backbone.js,underscore.js,mixins,Javascript,Jquery,Backbone.js,Underscore.js,Mixins,我想在主干视图中使用mixin 这是我的混音: var mixin = { events: { "click" : "doStuff" }, doStuff: function() { alert("bah!"); } } 下面是我如何将其混合到两个不同的视图中: var view1 = Backbone.View.Extend({ ... }); _.extend(view1.prototype, mixin); var view2 = Backbone.View.Ex

我想在主干视图中使用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
中起作用

你知道我做错了什么吗


(提前)感谢您的帮助。

由于您所期望的继承和合并类型,您可以覆盖主干上的extend方法。你只需要翻阅一下文档和对象就可以找到你想要的东西


这样,您就有了一个BaseObject,然后扩展了这两个对象。

它应该可以正常工作,仔细检查您的代码(),在mixin中包含
事件将不能很好地工作,因为
不会递归扩展。@dsfq-您是正确的,这是一个冲突问题。我已经切换到使用自动处理碰撞的鸡尾酒库,现在它可以按预期工作了。