extjs EXT.Js api响应数据未绑定到存储

tjjdgumg  于 2022-11-04  发布在  其他
关注(0)|答案(1)|浏览(149)

我遇到了一个问题,而调用一个加载方法上的商店。我的API是正确的数据,我可以看到,在铬网络标签,但在商店对象的数据是失踪见下面的示例代码

商店创建

_createStore: function()
  {
    return new Ext.data.Store({
     proxy:
      {
      url: //api call which returns single object of below data feild  ,
      appName: 'myApp',
      appendIdForCreate: false,
      reader: {
        type: 'json'
      },
      fields: [
        { name: 'id', type: 'int' },
        { name: 'employeeId', type: 'int' },
        { name: 'start', type: 'date' },
        { name: 'end', type: 'date' },
        { name: 'details', type: 'auto' },
        { name: 'audits', type: 'auto' },
        .
        .
        .
        .
        ....... Some more properties
      ]
    });
  },

示例API响应

{
    "id": 1234567,
    "employeeId": 123456,
    "start": "2022-01-13T00:00:00",
    "end": "2022-01-13T00:00:00",
    "details": [{
            "detailId": "123456789",
            "date": "2022-01-13T00:00:00",
            "startOfWeek": "0001-01-01T00:00:00"
        }
    ],

    "audits": [{
            "timestamp": "2022-01-10T04:24:43",
            "comment": "test comment",
            "authorLastName": "Naikele",
            "authorFirstName": "Sagar"
        }]
}

当我打电话时
创建一个新的存储库加载到内存中
我从API正确获取数据,我可以在chrome网络选项卡中看到,但我在myStore中找不到任何数据不知道出了什么问题,我在做什么!存储数据enter image description here
API响应enter image description here

niknxzdl

niknxzdl1#

Proxy没有field属性。请定义您的模型,如下所示:

Ext.define('MyModel', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'id',
        type: 'int'
    },{
        name: 'employeeId',
        type: 'int'
    } // additional fields
    ],
});

然后在创建商店时使用此模型。此外,设置代理类型也是一个好主意:

return new Ext.data.Store({
  model: 'MyModel',
  proxy: {
    type: 'ajax' // or 'rest' etc
    url: 'url',
  }
  ...
});

相关问题