Ember.js:如何渲染模板并将其与特定视图连接

时间:2013-02-07 15:30:25

标签: templates ember.js rendering

在我的一条路线中,我按如下方式渲染了几个模板:

Sp.IndexRoute = Ember.Route.extend({
    renderTemplate: function(controller, model) {
        this.render('index');

        this.render('rotatable', {into: 'index', outlet: 'config'}) ;
        this.render('clickable', {into: 'rotatable', outlet: 'front'}) ;
        this.render('configitem', {into: 'clickable'}) ;
        this.render('configuration', {into: 'rotatable', outlet: 'back'}) ;
    ....

我有一个名为ConfigMenuItemView的视图,如

Sp.ConfigMenuItemView = Em.View.extend({
    templateName: 'configitem',
    ...

但是,当我渲染 configitem 模板时,它不会与我的ConfigMenuItemView连接。只有当我给他们同名的名字(模板的第一个字符是小写)时才有效。有没有办法告诉渲染函数要连接哪个View?

干杯

1 个答案:

答案 0 :(得分:3)

要使其工作,请使用视图名称而不是模板名称作为this.render的第一个参数。由于您已在视图上定义了templateName属性,因此ember将在渲染视图时使用该属性。所以:

this.render('configMenuItem', {into: 'clickable'}) ;

应该有用。