1

我从这篇文章开始使用 mixins:Proper way of doing view mixins in Backbone

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 方法,然后才是实际的视图方法?

4

2 回答 2

2

我可能会推荐使用Backbone.Cocktail,它提供了一种非常简洁的方式来指定 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 ]
});

我已经在这篇博文中详细介绍了它。

于 2013-06-18T14:03:28.550 回答
0

您为什么不简单地使用针对该问题提供的其他答案:Backbone-Mixin Gist

于 2012-12-28T02:45:17.827 回答