Ember Data在控制器中有许多预告

时间:2013-08-22 21:36:04

标签: ember.js controller ember-data

我目前使用Ember Data和本地存储适配器设置以下型号。

App.Game = DS.Model.extend
 stage: DS.attr('number')
 level: DS.attr('number')
 actions: DS.hasMany('App.Action')

App.Action = DS.Model.extend
 type: DS.attr('string')
 time: DS.attr('number')
 game: DS.belongsTo('App.Game')

我可以使用

从模板中访问每个操作
{{#each actions}}
 {{type}}
{{/each}}

但我想从控制器中访问相同的数据。

有没有这样做?

以下内容返回了动作长度,但我想对每个动作进行每次动作。

actionsLength: (->
 @get('actions').get('length')
).property('actions.@each')

此控制器的路径如下。

App.GameRoute = Ember.Route.extend
 model: (params) ->
  App.Game.find(params.game_id)

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

根据您想要访问操作的控制器,您是否尝试访问控制器的content,例如:

App.ActionsController = Ember.ArrayController.extend({
  myFunction: function() {
    this.get('content').forEach(function(action) {
      console.log(action.get('type'));
    });
  }
});

或者来自GamesController

App.GamesController = Ember.ArrayController.extend({
  myFunction: function() {
    this.get('content').forEach(function(game) {
      game.get('actions').forEach(function(action) {
        console.log(action.get('type'));
      });
    });
  }
});

(抱歉没有coffescriptiying the code)

希望它有所帮助。