我正在寻找 emberjs 中不同布局文件的实现,就像 rails 一样。
例如,主应用程序有一个“application_layout.hbs”,登录页面有一个不同的。例如“login_layout.hbs”。
问问题
62 次
1 回答
0
我自己没有实现它,但这可能是您正在寻找的,取自ember 源代码
视图可以有一个包含其主模板的辅助模板。与主模板一样,布局可以是任何接受可选上下文参数并返回将插入视图标签内的 HTML 字符串的函数。其 HTML 元素是自关闭的视图(例如
<input />
)不能有布局,这个属性将被忽略。在 Ember 中,最典型的布局将是一个已编译的Ember.Handlebars
模板。可以直接使用该layout
属性设置视图的布局,也可以使用该属性通过名称引用现有的 Handlebars 模板layoutName
。用作布局的模板必须包含对 Handlebars{{yield}}
帮助器的一次使用。视图渲染的 HTML 内容template
将插入此位置:
JS
AViewWithLayout = Ember.View.extend({
layout: Ember.Handlebars.compile("<div class='my-decorative-class'>{{yield}}</div>")
template: Ember.Handlebars.compile("I got wrapped"),
});
希望能帮助到你
于 2013-05-12T06:48:29.787 回答