英文原版:https://guides.emberjs.com/v2.13.0/routing/rendering-a-template/
路由的另一個職責就是渲染對應的模板。
默認的,路由處理程序會渲染與其同名的模板。看下面這個路由:
app/router.js
Router.map(function() {
this.route('posts', function() {
this.route('new');
});
});
posts路由會渲染posts.hbs模板,posts.new理由會渲染posts/new.hbs模板。
每個模板都會被渲染到它父路由模板的{{outlet}}中。比如,posts.new路由將會渲染它的模板到posts.hbs模板的{{outlet}}中,並且posts路由會渲染它的模板到application.hbs模板的{{outlet}}中。
如果你不想按照這種默認的形式來進行模板的渲染,那麼你可以設置路由的templateName屬性來指定你想將當前路由模板渲染到哪個路由的模板中:
app/routes/posts.js
import Ember from 'ember';
export default Ember.Route.extend({
templateName: 'posts/favorite-posts'
});
你也可以覆寫renderTemplate()鉤子函數,如果你想控制模板的渲染的話。在其他方面,它也允許你選擇用來配置模板的控制器和指定{{outlet}}供你渲染路由模板。
本節完