0

我正在寻找 emberjs 中不同布局文件的实现,就像 rails 一样。
例如,主应用程序有一个“application_layout.hbs”,登录页面有一个不同的。例如“login_layout.hbs”。

4

1 回答 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 回答