#4 渲染模板

来源:互联网 发布:海口网站快速优化排名 编辑:程序博客网 时间:2024/05/17 00:53

英文原版:https://guides.emberjs.com/v2.13.0/routing/rendering-a-template/

路由的另一个职责就是渲染对应的模板。

默认的,路由处理程序会渲染与其同名的模板。看下面这个路由:

app/router.jsRouter.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.jsimport Ember from 'ember';export default Ember.Route.extend({  templateName: 'posts/favorite-posts'});

你也可以覆写renderTemplate()钩子函数,如果你想控制模板的渲染的话。在其他方面,它也允许你选择用来配置模板的控制器和指定{{outlet}}供你渲染路由模板。

本节完