如何在一条路线上循环使用两个不同的模型

时间:2013-07-12 20:16:04

标签: ember.js handlebars.js

我试图在一条路线上循环浏览两个不同的模型。这样做的最佳做法是什么?

目前我正在尝试:

App.IndexRoute = Ember.Route.extend({
    model: function(){
        return App.Player.find();
    },
    setupController: function(controller, model){
        controller.set('eventRounds', App.eventRound.find());
    }
});

然后循环使用:

{{#each eventRounds}}
       <tr> 
           <td>{{ player_1 }}</td>
           <td>{{ player_2 }}</td>
       </tr>
{{/each}} 

但是setupController似乎也打破了第一个模型。

谢谢!

1 个答案:

答案 0 :(得分:1)

默认的setupController挂钩将关联控制器的model属性设置为路由处理程序的模型。

手动定义时,它将覆盖默认行为。

因此,在您的setupController中,请先调用this._super()或手动设置model

App.IndexRoute = Ember.Route.extend({
    model: function(){
        return App.Player.find();
    },
    setupController: function(controller, model){
        controller.set('model', model);
        controller.set('eventRounds', App.eventRound.find());
    }
});