2
我想在我的BackBone视图中使用mixins。在我的Backbone视图中使用Mixins的麻烦Views
这里是我的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
。
任何想法我做错了什么?
(提前)感谢您的帮助。
它应该可以正常工作,仔细检查你的代码(http://jsfiddle.net/dfsq/C9wew/4404/) – dfsq 2013-02-28 20:48:24
除此之外,包括mixin中的'events'从'_开始并不会很好。 extend'不会递归地扩展。 – 2013-02-28 21:00:38
@dsfq - 你是对的,这是碰撞问题。我已经切换到使用自动处理碰撞的Cocktail库,并且它现在可以正常工作。 – user1031947 2013-02-28 21:52:27