我需要两个应用程序模板。我以为我可以使用布局解决这个问题。
除了一个路径和视图之外,所有路由都使用一个布局,而索引路径/视图使用另一个布局。我想避免手动创建Ember.View对象,如果没有必要的话。
所以:
Ember.View.layoutName = 'layouts/app';
App.IndexView = Ember.View.extend({
layoutName: 'layouts/logged-out'
});
这里的目的是将所有视图使用的默认布局设置为'layouts/app'
,使用grunt从手柄文件编译,并按照常规模板在Ember.TEMPLATES
数组中结束。
布局基本上是这样的结构:
<div class="row">
<div class="thirteen wide column">
{{ yield }}
</div>
</div>
目前,布局html被完全忽略,它只呈现模板中的内容。
所以问题是,如果这是正确的方法,我错过了什么让它起作用?如果这不是正确的方法,我应该做什么呢?
答案 0 :(得分:1)
我认为您唯一的问题是使用属性定义,您需要使用reopen
来设置默认实例属性,而不是Ember.View.layoutName = 'layouts/app';
。
在你的情况下:
Ember.View.reopen({
layoutName: 'layouts/app'
});