从 return 中未定义的 ember 中获取数据

get data from store return undefined in ember

我在从存储中获取数据时遇到一些问题。

Isset 模型订单:

import DS from 'ember-data';

export default DS.Model.extend({
   test: DS.hasMany('dealer-status'),
});

适配器(它是测试数据)。我没有规范化响应,我将参数添加到 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') return 未定义。

为什么我在 promise 中得到 undefined?如何解决?

因为在您的 order 模型中您没有属性 test。这是 hasMany 关系。查看 json API documentation about relationships in resource objects 了解更多详情。