我的 App.js 代码在这里:
Ext.Loader.setConfig({
enabled: true
});
Ext.application({
name: 'KP',
appFolder: 'scripts/app',
controllers: [
'MainSearch', 'List'
],
launch: function () {
Ext.create('Ext.container.Viewport', {
items: {
xtype: 'searchdata'
}
});
}
});
问题是:我有 model('List')、store('List')、view('List') 和 controller('List') - 所有这些都适用于我的网格。在 store('List') 中,我调用了该服务,它给了我一些数据。
我想在“MainSearch”表单之后查看我的网格。所以,我首先调用了“MainSearch”。(在 App.js 中)。但是,在我的浏览器中显示“MainSearch”表单之前,调用了“List”中的服务。我不明白为什么会这样。(当 App.js 中不包含“列表”控制器时 - 一切正常)
“列表”的“商店”代码:
Ext.define('KP.store.List', {
extend: 'Ext.data.Store',
model: 'KP.model.List',
autoLoad: true,
pageSize: 20,
autoLoad: { start: 0, limit: 20 },
autoSync: true,
proxy: {
type: 'ajax',
limitParam: 'size',
startParam: undefined,
api: {
read: '/adres/listls'
},
reader: {
type: 'json',
root: 'data',
successProperty: 'success',
totalProperty: 'total'
}
}
});
“列表”控制器代码:
Ext.define('KP.controller.List', {
extend: 'Ext.app.Controller',
views: ['personAccount.List'],
models: ['List'],
stores: ['List'],
init: function () {
this.control({
'list button[action=close]': {
click: this.closeClick
}
});
},
//закрытие формы
closeClick: function (button) {
var win = button.up('window');
win.close();
}
});
我的列表视图代码:
Ext.define('KP.view.personAccount.List', {
extend: 'Ext.window.Window',
alias: 'widget.list',
autoScroll: true,
modal: false,
plain: false,
autoShow: true,
layout: {
type: 'fit'
},
initComponent: function () {
var me = this;
Ext.applyIf(me, {
items: [
{
xtype: 'gridpanel',
store: 'List',
forceFit: true,
columns: [
....
],
dockedItems: [
{
xtype: 'pagingtoolbar',
store: 'List',
dock: 'bottom',
displayInfo: true
}
]
}
]
});
me.callParent(arguments);
}
});
非常感谢!