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

u011021044 2013-06-10 09:33:14
我的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数据格式为:

Js代码
{  
"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

这是什么原因啊 ? 请指点啊
...全文
245 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
u011021044 2013-06-14
  • 打赏
  • 举报
回复
3q\
引用 5 楼 u010087908 的回复:
treeStore 最好单独load,不要把和tree无关的信息也放到json里 另外,root应该是children。 当然,你也可以拿到json后,自己按从属关系往treestore里填加数据。 var node = root.createNode( { id:data.content.id, ... } ); root.appendChild(node);
NANU-NANA 2013-06-11
  • 打赏
  • 举报
回复
treeStore 最好单独load,不要把和tree无关的信息也放到json里 另外,root应该是children。 当然,你也可以拿到json后,自己按从属关系往treestore里填加数据。 var node = root.createNode( { id:data.content.id, ... } ); root.appendChild(node);
NANU-NANA 2013-06-10
  • 打赏
  • 举报
回复
root指的就是根节点嘛。只能是data。 不过你可以把content去掉。
{  
    "data": {  
                "id": 1,  
                "name": "系统管理",  
                "url": null,  
                "title": "系统管理",  
                "icon": null,  
                "parent": null,  
                "children": [],  
                "roles": [],  
                "userGroups": []  
    },  
    "success": true  
}
u011021044 2013-06-10
  • 打赏
  • 举报
回复
我发现当root设为data.content时,Ext根本没往后台发送请求
u011021044 2013-06-10
  • 打赏
  • 举报
回复
有其他方法来实现这个效果吗
u011021044 2013-06-10
  • 打赏
  • 举报
回复
引用 2 楼 u010087908 的回复:
root指的就是根节点嘛。只能是data。 不过你可以把content去掉。
{  
    "data": {  
                "id": 1,  
                "name": "系统管理",  
                "url": null,  
                "title": "系统管理",  
                "icon": null,  
                "parent": null,  
                "children": [],  
                "roles": [],  
                "userGroups": []  
    },  
    "success": true  
}
因为Data里面不仅包含了content还包含一些其他的信息,最好是不要改动后台代码

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧