1

在我的一条路线中,我渲染了几个模板,如下所示:

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 ?

干杯

4

1 回答 1

3

为了使这个工作,使用视图名称而不是模板名称作为this.render. 由于您已经在视图本身上定义了一个 templateName 属性,ember 将在渲染视图时使用它。所以:

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

应该管用。

于 2013-02-07T17:10:40.307 回答