2013-11-20 48 views
0

我需要兩個應用程序模板。我想我可以使用佈局來解決這個問題。如何使用Ember編譯的版式與默認

除了一個路由和視圖之外,所有路徑和視圖都使用一個佈局,而索引路由/視圖使用另一個佈局。如果沒有必要,我想避免手動創建Ember.View對象。

所以:

Ember.View.layoutName = 'layouts/app'; 

App.IndexView = Ember.View.extend({ 
    layoutName: 'layouts/logged-out' 
}); 

在這裏的意圖是建立由所有意見'layouts/app'這是從車把文件中使用咕嚕編譯和Ember.TEMPLATES陣列按常規模板最終使用的默認佈局。

的佈局基本上結構是這樣的:

<div class="row"> 
    <div class="thirteen wide column"> 
     {{ yield }} 
    </div> 
</div> 

目前的佈局HTML完全被忽略,它只是呈現什麼模板。

所以問題是,如果這是正確的做法,我錯過了什麼使它工作?如果這不是正確的做法,我應該怎麼做呢?

回答

1

我認爲你唯一的問題是屬性定義,你需要使用reopen來設置一個默認的實例屬性,而不是Ember.View.layoutName = 'layouts/app';

你的情況:

Ember.View.reopen({ 
    layoutName: 'layouts/app' 
});