我目前使用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)
任何帮助都将不胜感激。
答案 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)
希望它有所帮助。