对于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属性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)