我从存储中获取数据时遇到了一些问题。
Isset型号订单:
import DS from 'ember-data';
export default DS.Model.extend({
test: DS.hasMany('dealer-status'),
});
适配器(它是测试数据)。我没有将normolize响应,我将params添加到data
进行规范化。它的实现将在serialize
:
export default DS.JSONAPIAdapter.extend({
service: Ember.inject.service('admin.auth'),
query(store, type, query) {
var service = this.get('service');
return new Ember.RSVP.Promise(function (resolve, reject) {
service.fetch(query).subscribe(
res => {
var data = {
"data": [{
"type": "user",
"id": "1",
"attributes": {
test: 'test'
}
}]
};
resolve(data);
},
err => {
reject(err);
});
});
}
});
路由器:
model() {
return this.get('store').query('orders', {}).then(res => {
console.log(res.get('test')); //undefined
console.log(res.objectsAt(0)); //undefined
})
在我query
找到的路由器中,但我无法获得参数test
。在Promise res.get(' test')中返回undefined。
为什么我的承诺未定义?如何解决?
答案 0 :(得分:1)
因为在您的order
模型中,您没有属性test
。这是hasMany
关系。查看json API documentation about relationships in resource objects了解更多详情。