Ember.js - 如何避免手动渲染模板

时间:2014-03-18 18:59:02

标签: javascript templates ember.js handlebars.js

我目前手动渲染我的模板:

App.IndexRoute = Ember.Route.extend({
  renderTemplate: function() {
    this.render('index');
    this.render('nav', {
      outlet: 'nav',
      into  : 'index'
    });
    this.render('welcome', {
      outlet: 'welcome',
      into  : 'index'
    });
  }
});

现在这个工作正常,但我注意到最好的ember实践避免手动渲染模板。

所以我可以理解我的index模板应该会自动呈现给Ember很棒。但是,如何控制nav模板中welcomeindex模板的呈现?这是我在路由器,控制器中处理的东西吗?或者我应该用车把部分来做吗?

感谢。

1 个答案:

答案 0 :(得分:1)

在模板中,您的插座将其替换为模板渲染

而不是

{{outlet nav}}

使用

{{render 'nav'}}

您可以完全删除nav的渲染部分。在为welcome完成相同操作后,您可以完全删除renderTemplate挂钩。

此外,使用renderTemplate钩子没有任何问题,这是一种非常被接受的做法,在你的情况下是不必要的。

在此处阅读有关渲染助手的更多信息http://emberjs.com/guides/templates/rendering-with-helpers/#toc_the-code-render-code-helper