主干:方法冲突的混合
Backbone: mixins with conflicting methods
我从这篇文章开始使用mixins:在Backbone中做视图mixins的正确方法
var MyMixin = {
foo: "bar",
sayFoo: function(){alert(this.foo);}
}
var MyView = Backbone.View.extend({
// ...
});
_.extend(MyView.prototype, MyMixin);
myView = new MyView();
myView.sayFoo(); //=> "bar"
这工作良好,除非它是一个冲突的方法在混合:例如render()
在mixin和render()
在实际视图。
我怎么能先触发mixin方法然后再触发实际的视图方法呢?
我建议使用Backbone。它提供了一种非常简洁的方式来指定mixins(尊重继承):
var Mixin = {
initialize: function() {
console.log("I'll be called as well as the class's constructor!");
}
};
var View = Backbone.View.extend({
mixins: [ MyMixin ]
});
我已经在这篇博文中详细说明了。
为什么不直接使用关于该问题的另一个答案:Backbone-Mixin Gist?
相关文章:
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- Javascript-ID冲突的几率
- 导致内容安全策略(CSP)冲突错误的本地jquery.js文件
- 混合元素的有角度的ng重复
- VueJS多个混合
- Pg承诺性能提升:在冲突中
- 数据与Javascript中的继承冲突
- Angular ng控制器与ng应用程序冲突
- 返回按钮代码段的Jquery冲突
- 调试一个简单的jQuery函数;想知道是否与其他代码冲突
- 使用JavaScript和HTML5画布进行冲突检测
- javascript对象原型与jquery冲突
- jQuery与导航菜单上的mouseover事件冲突.
- Javascript滑块不滑动,如何判断是否存在JS冲突
- Bing语音和Bing地图在Windows 8应用商店应用程序中冲突
- Javascript两个日期选择器冲突
- Sequelize:属性之间的命名冲突'播放列表'以及关联'播放列表'
- 2D Processingjs游戏中的冲突
- 如何对混合格式的数字(89900,1k,1.5k,15.2k)进行排序
- 主干:方法冲突的混合