前端之家收集整理的这篇文章主要介绍了
ExtJs4 Store加载数据的怪异问题,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
- //这是我的基础BaseStore
- Ext.define("Base.store.BaseStore",{
- extend: "Ext.data.Store",proxy: {
- type: 'ajax',reader: {
- type: 'json',root: 'data',idProperty: "id",successProperty: "success",messageProperty: "msg",totalProperty: "total"
- }
- },sorters: [{
- property: 'id',direction: 'DESC'
- }]
- });
-
- //第一个model
- Ext.define("Script.model.system.SystemMenuModel",{
- extend: 'Ext.data.Model',fields: ["id","name","icon1","icon2","fatherId","modelClass","children"]
- });
-
-
- //第二个model
- Ext.define("Script.model.system.SystemRoleModel","roleName"]
- });
- //俩个sotre
- Ext.define("Script.store.system.SystemMenuStore",{
- extend: "Base.store.BaseStore",model: 'Script.model.system.SystemMenuModel'
- });
-
- Ext.define("Script.store.system.SystemRoleStore",model: 'Script.model.system.SystemRoleModel'
- });
- Ext.define("Script.view.system.SystemRoleGird",{
-
- extend: 'Ext.grid.Panel',store: null,columns: [
- { text: 'id',dataIndex: 'id'},{ text: 'roleName',dataIndex: 'roleName',flex: 1 }
- ]
- });
-
- //问题的关键就在这了,如果不创建store1 ,则表格可以正确绑定数据,如果create了sotre1就不能绑定数据,但数据可以从服务器端正确返回都没问题 就是帮不上,百思不得其解
- var store1 = Ext.create('Script.store.system.SystemMenuStore');
-
- var store2 = Ext.create("Script.store.system.SystemRoleStore");
- store2.proxy.url = "systemRoleController.do?method=queryRoleList";
-
- Ext.create("Script.view.system.SystemRoleGird",{
- store: store2,renderTo : Ext.getBody()
- });
- store2.load();
-
//但是如果在SystemMenuStore与SystemRoleStore中定义自己的proxy也就是不用继承BaseStore的proxy就好使 真不知道为什么了