Ember 模板渲染

2018-01-06 17:48 更新

路由的另一個(gè)重要職責(zé)是渲染同名字的模板。

比如下面的路由設(shè)置,posts路由渲染模板posts.hbs,路由new渲染模板posts/new.hbs。

  1. Router.map(function() {
  2. this.route('posts', function() {
  3. this.route('new');
  4. });
  5. });

每一個(gè)模板都會(huì)渲染到父模板的{{outlet}}上。比如上面的路由設(shè)置模板posts.hbs會(huì)渲染到模板application.hbs{{outlet}}上。application.hbs是所有自定義模板的父模板。模板posts/new.hbs會(huì)渲染到模板posts.hbs{{outlet}}上。

如果你想渲染到另外一個(gè)模板上也是允許的,但是要在路由中重寫renderTemplate回調(diào)方法。

  1. // app/routes/posts.js
  2. import Ember from 'ember';
  3. export default Ember.Route.extend({
  4. // 渲染到favorites模板上
  5. renderTemplate: function() {
  6. this.render('favorites');
  7. }
  8. });

模板的渲染這個(gè)知識(shí)點(diǎn)比較簡單,內(nèi)容也很少,在前面的Ember.js 入門指南之十四番外篇,路由、模板的執(zhí)行、渲染順序已經(jīng)介紹過相關(guān)的內(nèi)容。


博文完整代碼放在Github(博文經(jīng)過多次修改,博文上的代碼與github代碼可能又出入,不過影響不大?。绻阌X得博文對(duì)你有點(diǎn)用,請(qǐng)?jiān)趃ithub項(xiàng)目上給我點(diǎn)個(gè)star吧。您的肯定對(duì)我來說是最大的動(dòng)力!!

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)