我正在看一个使用.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>
答案 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非常相似。因为我们可以在这里定制几乎所有东西。