extjs之model,store,reader, proxy

Ext.define('Business.store.businessRequest.BrUnitRuleStore',{
extend:'Ext.data.Store',
alias : 'widget.brUnitRuleStore',
pageSize:BusinessCommon.PAGE_NUM,
pageNum:1,
// code:'',
model:'Business.model.businessRequest.BrUnitRuleModel',
autoLoad:false,
    proxy: {
        type: 'ajax',
        url : 'rule/queryAllRules',
        actionMethods : {
read : 'POST'
},
        reader: {
            type: 'json',
            root: 'resultList',
            totalProperty:'totalCount'
        }
    },
listeners : {
beforeload : {
fn : function(store, options) {
// 设置查询参数
// 通过自己的编号
// var index = store.storeId.split('_')[1];
// 获得grid对象
// var grid = Ext.getCmp('govInfoModuleGrid_'+index);
// 获得属性
// var id = Ext.getCmp('govInfoModuleSearchModule_ID-' + index).getValue();
// var name = Ext.getCmp('govInfoModuleSearchModule_Name-' + index).getValue();
// alert(1);
// alert('id:'+module_ID+' name:'+module_Name);
// {params:{module_Id:tab.moduleId,module_Name:rec.get('text')}}
// alert(store.storeId);

// var brUnitId = Ext.getCmp('businessRule_tab').selectBrUnitId;
var brUnitId = Ext.getCmp('brUtinTabPanel_br').selectBrUnitId;
Ext.apply(store.proxy.extraParams, {
'pageNum' : this.pageNum,
'pageSize': this.pageSize,
'unitId':brUnitId
});
}
}
}

});


其中proxy是用来访问服务器端数据的,

reader是用来把 返回来的数据解析成对应的model实例,

pageSize是用来供grid分页用的,

root是返回数据的key,他后面的是用解析成model层对象的数据,

 totalProperty是返回数据对应的model的总数,

一般返回的json格式是:{totalCount:3,resultList:[{name:ss,age12},{name:aa,age:13},{name:bb,age14}]}

autoLoad设置成true,会自动加载的你都store,一般不设置成true,

listener:beforeLoad事件是没回加载数据时都会执行的事件

store在load数据时时可以传递参数的

store.load({params:{ids:ids}});

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值