2016-04-15 31 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}}

相关问题