如何在Ember.js应用程序模板中呈现路径名称?

时间:2016-04-15 20:25:57

标签: 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 个答案:

答案 0 :(得分:2)

应用程序控制器会自动从路由器接收属性currentPathcurrentRouteName。因此,您可以直接在应用程序模板中使用它们。

答案 1 :(得分:1)

基于@ Grapho的回答,我发现我需要在应用程序控制器上创建一个计算属性,以便用破折号转换以点分隔的路径名。

import Ember from 'ember';

export default Ember.Controller.extend({
  hyphenatedCurrentRouteName: Ember.computed('currentRouteName', function(){
    return this.get('currentRouteName').split('.').join('-')
  }
});

现在,在我的模板中,我可以使用{{hyphenatedCurrentRouteName}}