0

我正在查看一个使用以 .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>
4

1 回答 1

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 非常相似。当然,我们可以在这里自定义几乎所有内容。

于 2013-09-13T16:52:48.583 回答