我想加载一个View并传递一个名为:layout_version
的参数我正在使用JST作为我的模板引擎。
Views.BottomBarView = Backbone.View.extend({
el: ".l-bottom-bar",
template: JST['templates/bottom_bar'],
render: function(options) {
this.model.set("layoutVersion", options.layoutVersion);
this.$el.html( this.template(this.model.toJSON()) );
return this;
}
});
.jst文件如下:
{{ if (layoutVersion == 1) { }}
<div class="bottom-bar-s-version">Other</div>
{{ } else if { layoutVersion == 2 }}
<div class="bottom-bar-s-version">Show more</div>
{{ } }}
由于我在创建它时没有将任何模型传递给视图,因此只有一个对象{layoutVersion:2}我得到this.model
未定义
我正在使用bottom_bar文件在一个文件中保存两个不同的HTML,并根据模型中的参数进行渲染。
我如何实现目标?
答案 0 :(得分:0)
只需将此this.model.toJSON()
替换为:
{ "layoutVersion": options.layoutVersion }
答案 1 :(得分:0)
您无需传递模型,只需将对象传递给模板即可。
Views.BottomBarView = Backbone.View.extend({
el: ".l-bottom-bar",
template: JST['templates/bottom_bar'],
render: function(options) {
this.$el.html(this.template( { "layoutVersion": options.layoutVersion }));
return this;
}
});