rest – ExtJS5:摆脱代理中的root属性

rest – ExtJS5:摆脱代理中的root属性,第1张

概述我正在尝试将REST API连接到我的ExtJS应用程序. 对于GET /用户相似的请求,我返回如下响应: {items: [{id: 1, ...}, {id: 2, ....}], total: 2} 所以我为此创建了一个模型: Ext.define('model.User', { extend: 'Ext.data.Model', fields: [ { na 我正在尝试将REST API连接到我的ExtJs应用程序.

对于GET /用户相似的请求,我返回如下响应:

{items: [{ID: 1,...},{ID: 2,....}],total: 2}

所以我为此创建了一个模型:

Ext.define('model.User',{    extend: 'Ext.data.Model',fIElds: [        { name: 'ID',type: 'int' },{ name: 'name' },],proxy: {        reader: {            type:          'Json',totalProperty: 'total',rootProperty:  'items'        },type:   'rest',url:    '/API/User',}});

网格加载数据,看起来都很完美.现在我希望能够请求我的API用作{ID:1,…}的单个记录.
但是当我做model.User.load(1)时,永远不会触发成功处理程序,因为响应不包含items属性.如果我将我的记录放在该属性中,它将起作用,但对于其他API用户来说也会显得难看.

如何在没有root属性的情况下使其工作?我无法在模型上找到代理/阅读器的任何事件来动态更改它.

解决方法 rootProperty也可以是一个函数,所以你可以这样做:

rootProperty: function(raw) {    return raw.items ? raw.items : raw;}
总结

以上是内存溢出为你收集整理的rest – ExtJS5:摆脱代理中的root属性全部内容,希望文章能够帮你解决rest – ExtJS5:摆脱代理中的root属性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/1021143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存