0
我工作骨幹的應用程序,我有一個具有相同的功能呈現多個視圖:如何在Backbone中爲多個視圖重用渲染函數?
render: function(){
this.$el.html(this.template(this.model.toJSON()));
return this;
}
如何重用在多個視圖中此功能,所以我可以沿用老的幹法?
我工作骨幹的應用程序,我有一個具有相同的功能呈現多個視圖:如何在Backbone中爲多個視圖重用渲染函數?
render: function(){
this.$el.html(this.template(this.model.toJSON()));
return this;
}
如何重用在多個視圖中此功能,所以我可以沿用老的幹法?
您可以使用這裏指定的混入模式:Proper way of doing view mixins in Backbone
var renderable = {
render: function(){
this.$el.html(this.template(this.model.toJSON()));
return this;
}
};
var view = Backbone.View.extend({
//other methods
});
_.extend(view.prototype, renderable);
var myView = new view();
myView.render();
延長另一種觀點認爲
var BeefedupView = Backbone.View.extend({
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
var myView = BeefedupView.extend({
// Do super cool stuff here...
});
現在,我知道他們是所謂的混入,我看到他們很多詳細信息。在定義視圖時,您似乎也可以跳過_.extend(...),但包括'mixin:[renderable,...]'。 – EmptyArsenal