在Ember渲染.hbs模板

时间:2013-09-13 16:24:40

标签: ember.js

我正在看一个使用.hbs中的模板的Ember演示项目https://github.com/kagemusha/ember-rails-devise-demo。通常在Ember中,您通过为id='about'路由附加about来声明模板。但是,在此项目中以.hbs结尾的所有模板都不使用id。 Ember如何知道要渲染哪个模板?

示例模板

<div class="navbar navbar-fixed-top">
  <div class="navbar-inner">
    <div class="container-fluid">
      <div class="brand strong">{{#linkTo 'home'}}Ember-Rails-Devise{{/linkTo}}</div>
      <ul class="nav">
          <li>{{#linkTo help}}Help{{/linkTo}}</li>
      </ul>
      <div class="btn-group pull-right">
        {{#if isAuthenticated}}
            <button class="btn" {{action logout}}>Logout</button>
        {{else}}
            {{view App.MenuItem href="#/login" label="Login" }}
            {{view App.MenuItem href="#/registration" label="Register"}}
        {{/if}}
      </div>
    </div>
  </div>
</div>

1 个答案:

答案 0 :(得分:2)

Ember.js使用命名对流。

当我们在ember应用程序中定义路由时,我们告诉Ember哪个控制器将响应哪条路径以及将呈现哪个模板:

App.Router.map ()->
  @resource 'posts'

我们有:

URL         /posts
Route Name  posts
Controller  PostsController
Route       PostsRoute
Template    post

PostsController控制器将呈现posts.hbs模板。这与Rails非常相似。因为我们可以在这里定制几乎所有东西。