【发布时间】:2016-07-11 15:00:51
【问题描述】:
我正在尝试根据先前模型请求的结果从商店发出模型请求。请在下面找到代码:
路线:
model(params) {
var id = params.framework_id;
var main = this;
return Ember.RSVP.hash({
question: this.store.query('question', {orderBy: 'framework', equalTo: id}),
framework: this.store.find('frameworks', id),
frameworks: this.store.findAll('frameworks')
})
}
然后在路由中有一个setupController:
setupController: function(controller, model) {
this._super(controller, model);
var main = this;
...
controller.set("frameworkName", model.framework.get('name'));
var includedFramework = model.framework.get('includedFramework');
var includedFrameworkModel = this.store.find('frameworks', includedFramework);
Ember.Logger.info(model.framework)
Ember.Logger.info(includedFrameworkModel);
if (model.framework.get('includedFramework') != undefined) {
var linked = main.store.find("frameworks", model.framework.get('includedFramework'));
controller.set("linkedFramework", {id: linked.get('id'), name: linked.get('name')});
}
}
在控制器设置中,使用model.framework.get('name') 没有问题。 mode.framework.get('includedFramework') 工作正常并将 ID 返回到存储在框架模型中的另一个框架。然后我打算用另一个store.find 请求在商店中拉出“包含的框架”。不幸的是,第二个store.find 没有以与第一个相同的方式返回模型记录。这是每个请求返回的检查器视图:
model.framework -
包含框架模型 -
非常感谢任何帮助!
【问题讨论】:
标签: javascript ember.js