2016-04-15 77 views
2

考慮路由的列表:如何在Ember.js應用程序模板中呈現路徑名稱?

Router.map -> 
    @route 'home', path: '/' 
    @route 'sign-in' 
    @route 'about' 

我怎樣才能動態地呈現這些信息到我的應用程序模板(主要佈局)?

<div id="container" class="{{routeNameGoesHere}}"> 
    {{outlet}} 
</div> 

例如,完全呈現:

<div id="container" class="sign-in"> 
    <h1>Sign In Page</h1> 
</div> 

回答

2

應用控制器從路由器自動接收的屬性currentPathcurrentRouteName。所以你可以直接在你的應用程序模板中使用它們。

+1

您是否知道我可以在Ember文檔中找到更多關於這些信息的信息? – Andrew

+1

@Andrew如果這確實適合你,那麼文檔的PR將不勝感激;-) – acorncom

+0

因爲我在一個模板中使用這個作爲一個CSS類,當'currentRouteName'是'時可以用連字符替換點嗎?一個嵌套的路線(帶點分隔符)? – Andrew

1

根據@ Grapho的回答,我發現我需要在我的應用程序控制器上創建一個計算屬性,以便將點分隔的路徑名稱用破折號轉換。我可以使用{{hyphenatedCurrentRouteName}}

相關問題