App.Views.WidgetAvailable = Backbone.View.extend({
tagName: 'li',
className: 'widget',
template: template('available_template'),
render: function(){
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
所以我得到了这个由两个集合使用的视图,问题是在这两种情况下只有模板属性不同。因此,我试图弄清楚如何动态设置 template:属性。
有没有人知道如何做到这一点?
格尔茨,
答案 0 :(得分:3)
应该像这样简单:
initialize: function(){
this.template = options.template;
return this;
}
然后当你打电话时:
var view = new App.Views.WidgetAvailable( { template : '...' } );
感谢mu is too short进行更正
答案 1 :(得分:1)
您可以将参数传入initialize方法,这样您就可以直接传入模板。
例如:
App.Views.WidgetAvailable = Backbone.View.extend({
initialize: function (template) {
this.template = template(template);
}
//the rest of your views code
});
var view1 = new App.Views.WidgetAvailable(template1);
var view2 = new App.Views.WidgetAvailable(template2);