Javascript 主干:具有冲突方法的混合
我从这篇文章开始使用mixin: 这可以正常工作,除非它在混合中是一个冲突的方法:例如mixin中的Javascript 主干:具有冲突方法的混合,javascript,backbone.js,underscore.js,Javascript,Backbone.js,Underscore.js,我从这篇文章开始使用mixin: 这可以正常工作,除非它在混合中是一个冲突的方法:例如mixin中的render(),以及实际视图中的render() 我怎样才能先启动mixin方法,然后再启动实际的view方法呢?为什么不简单地使用关于这个问题的另一个答案:?我可能建议使用它,它提供了一种非常简洁的指定mixin的方法(在继承方面): 我已经在这里详细介绍过了。您希望同时启动原始渲染和混合渲染吗?要实现这一点,您需要做的不仅仅是扩展。定义render方法的mixin?这有点粗鲁,不是吗?在这一
render()
,以及实际视图中的render()
我怎样才能先启动mixin方法,然后再启动实际的view方法呢?为什么不简单地使用关于这个问题的另一个答案:?我可能建议使用它,它提供了一种非常简洁的指定mixin的方法(在继承方面):
我已经在这里详细介绍过了。您希望同时启动原始渲染和混合渲染吗?要实现这一点,您需要做的不仅仅是扩展。定义
render
方法的mixin?这有点粗鲁,不是吗?在这一点上,我有相当数量的类似视图,它们在render方法中具有几乎相同的代码,需要对其进行一些样板化。
var MyMixin = {
foo: "bar",
sayFoo: function(){alert(this.foo);}
}
var MyView = Backbone.View.extend({
// ...
});
_.extend(MyView.prototype, MyMixin);
myView = new MyView();
myView.sayFoo(); //=> "bar"
var Mixin = {
initialize: function() {
console.log("I'll be called as well as the class's constructor!");
}
};
var View = Backbone.View.extend({
mixins: [ MyMixin ]
});