基于配置文件设置 Extjs bufferedstore 的 pageSize
Setting the pageSize of Extjs bufferedstore based on a config file
我有一个 Extjs 缓冲存储,如下所示:
Ext.define('myStore', {
extend: 'Ext.data.BufferedStore',
requires: [
'myStoremodel' // model that the store takes in
],
storeId: 'myTeststore',
model: 'myStoremodel',
remoteSort: true,
buffered: true,
leadingBufferZone: 2,
trailingBufferZone: 2,
pageSize: 10,
proxy: {
type: 'ajax',
url: "/fetch/getNameList" // the API which returns data to load,
timeout: 5 * 60 * 1000,
reader: {
rootProperty: 'data.name',
totalProperty: 'data.recordSize'
},
simpleSortMode: true
}
});
我正在寻找 pageSize 变量(根据配置文件中所做的更改更改大小)。如何从外部配置文件中读取值?如何实现?
只是给你一个非常基本但可能的解决方案,你可以创建一个API来获取你的前端默认配置(比如 ExtJs 商店的 pageSize)。
然后在打开您的网络应用程序时,作为第一步,您可以调用该 api 并将结果保存在您喜欢的位置(window 对象、cookie、. ..).
图像具有如下所示的响应对象并将其保存在 window 静态变量中:
window.myFrontEndConfigs = {
pageSize: 20
};
因此,在您的商店定义中,您可以使用如下内容:
Ext.define('myStore', {
extend: 'Ext.data.BufferedStore',
...
pageSize: window.myFrontEndConfigs.pageSize
...
}
我再说一遍,这是一个漂亮的“Stone-Age”解决方案,但对您的 front/back 端的信息知之甚少甚至为零,这让我的选择很少...
-编辑-
没有什么能阻止您只拥有一个专门包含 return 您的配置的功能的新 js 文件。只需将它添加到您的页面上,然后繁荣、完成、配置加载和可用。只是我喜欢在我的后端进行配置,因为我永远不知道将来是否需要根据用户、组等自行动态设置...
myConfigs.js
function myFrontEndConfigs() {
return {
pageSize: 20
};
}
然后在您的商店中:
Ext.define('myStore', {
extend: 'Ext.data.BufferedStore',
...
pageSize: myFrontEndConfigs().pageSize
...
}
我有一个 Extjs 缓冲存储,如下所示:
Ext.define('myStore', {
extend: 'Ext.data.BufferedStore',
requires: [
'myStoremodel' // model that the store takes in
],
storeId: 'myTeststore',
model: 'myStoremodel',
remoteSort: true,
buffered: true,
leadingBufferZone: 2,
trailingBufferZone: 2,
pageSize: 10,
proxy: {
type: 'ajax',
url: "/fetch/getNameList" // the API which returns data to load,
timeout: 5 * 60 * 1000,
reader: {
rootProperty: 'data.name',
totalProperty: 'data.recordSize'
},
simpleSortMode: true
}
});
我正在寻找 pageSize 变量(根据配置文件中所做的更改更改大小)。如何从外部配置文件中读取值?如何实现?
只是给你一个非常基本但可能的解决方案,你可以创建一个API来获取你的前端默认配置(比如 ExtJs 商店的 pageSize)。
然后在打开您的网络应用程序时,作为第一步,您可以调用该 api 并将结果保存在您喜欢的位置(window 对象、cookie、. ..).
图像具有如下所示的响应对象并将其保存在 window 静态变量中:
window.myFrontEndConfigs = {
pageSize: 20
};
因此,在您的商店定义中,您可以使用如下内容:
Ext.define('myStore', {
extend: 'Ext.data.BufferedStore',
...
pageSize: window.myFrontEndConfigs.pageSize
...
}
我再说一遍,这是一个漂亮的“Stone-Age”解决方案,但对您的 front/back 端的信息知之甚少甚至为零,这让我的选择很少...
-编辑-
没有什么能阻止您只拥有一个专门包含 return 您的配置的功能的新 js 文件。只需将它添加到您的页面上,然后繁荣、完成、配置加载和可用。只是我喜欢在我的后端进行配置,因为我永远不知道将来是否需要根据用户、组等自行动态设置...
myConfigs.js
function myFrontEndConfigs() {
return {
pageSize: 20
};
}
然后在您的商店中:
Ext.define('myStore', {
extend: 'Ext.data.BufferedStore',
...
pageSize: myFrontEndConfigs().pageSize
...
}