在sencha touch中这样使用这个公共方法没有问题.
//加载stroestoreLoad: function (list, params, callback) {
var store = list.getStore();
if (params) {
var oldParams = store.getProxy().getExtraParams();
if (!this.equals(oldParams, params)) {
store.setProxy({
extraParams: params
});
store.load();
} else {
return;
}
} else if (store.getCount() > 0) {
return
}
store.loadPage(1, {
callback: function (records, operation, success) {
if (records.length == 0) {
list.setEmptyText('没有获取到内容');
}
if(callback){
callback(records, operation, success)
}
},
scope: this
});
}
但在ExtJS中就会出现图片中的错误。
解决方法如下修改:
//加载stroe
storeLoad: function (list, params, callback) {
var store = list.getStore();
console.log("store", store);
if (params) {
var oldParams = store.getProxy().getExtraParams();
console.log("oldParams",oldParams);
if (!Ext.Object.equals(oldParams, params)) {
Ext.apply(store.getProxy().extraParams, params);
store.load();
} else {
return;
}
} else if (store.getCount() > 0) {
return
}
store.loadPage(1, {
callback: function (records, operation, success) {
if (records.length == 0) {
list.setEmptyText('没有获取到内容');
}
if(callback){
callback(records, operation, success)
}
},
scope: this
});
}