我有一个类似的结构
App.Router.map(function() {
this.route("levels");
this.resource("level", {path: 'levels/:level_id'}, function() {
this.route("play");
});
});
现在,我需要使用嵌套模型中的项目数(级别记录)信息" level / play"。 我的第一个方法是插入我的播放控制器中:
App.LevelPlayController = Ember.ObjectController.extend({
getLevelCount: function() {
var allLevels = this.store.find("level");
var levelCount = allLevels.get("length");
return levelCount;
}.property()
}
但这似乎不起作用。也许是因为异步加载?
有人可以帮忙吗?
答案 0 :(得分:1)
由于父路线的模型已经加载,您只能在子路径中访问它:
Ember.Route.extend({
model: function() {
return this.modelFor('level');
}
});
然后在您的控制器中,您可以访问该级别作为model
属性。
访问商店更像是一个路由而不是控制器。