Extjs Store的Reader的root属性为什么不能是子属性?

我的Store是这么定义的:

Ext.define("NP.store.Menus", {
extend : "Ext.data.TreeStore",
model : "NP.model.Menu",
root : {
expanded : true,
text : "系统菜单",
},
proxy : {
type : "rest",
url : "menu",
reader : {
type : "json",
root : "data",//这里如果设置成data.content就不对
successProperty : "success"
}
}
});

服务器返回的JSON数据格式为:

{
    "data": {
        "content": [
            {
                "id": 1,
                "name": "系统管理",
                "url": null,
                "title": "系统管理",
                "icon": null,
                "parent": null,
                "children": [],
                "roles": [],
                "userGroups": []
            }
        ]
    },
    "success": true
}

 

因为我的模型数据集合是在数据的data.content里,而如果Store.proxy.reader.root设置成data.content 就会报错:Uncaught TypeError: Cannot read property 'content' of undefined

这是什么原因啊 ? 请指点啊

 

1个回答

[code="java"]
这个应该解析json的问题吧。 你设置
record: 'content' 试试吧。
[/code]

nameusernet
nameusernet 3q 非常感谢了
接近 7 年之前 回复
leehuat
leehuat 可以监听tree load事件, 在load时, 把record里面数据转换了
接近 7 年之前 回复
nameusernet
nameusernet 再问个问题,比如我在服务端返回的JSON为{id:1,name:"abc"} 而Ext模型要求的数据格式为{id:1,text:"abc"} 怎么在Ext里把它转换一下
接近 7 年之前 回复
nameusernet
nameusernet 貌似可以了 为什么在API里没有查到这个属性???
接近 7 年之前 回复
leehuat
leehuat reader: { type : 'json', root : 'data', record: 'content' }
接近 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问