我有一个与存储器链接的网格,其
我已经在 Application.js 和视图中引用了存储器,但我既没有显式地实例化存储器也没有实例化视图。
我不知道如何实现仅在视图需要时加载存储器。
以下是所有相关代码以供参考:
app/store/Owners.js
视图在控制器中实例化:
autoLoad: true
。问题是存储器在应用程序启动时加载,即使只有通过菜单访问时才创建视图。我已经在 Application.js 和视图中引用了存储器,但我既没有显式地实例化存储器也没有实例化视图。
我不知道如何实现仅在视图需要时加载存储器。
- 如果设置了
autoLoad: true
,则存储器将在应用程序启动时加载。 - 如果设置了
autoLoad: false
,则根本不会加载存储器。
以下是所有相关代码以供参考:
app/store/Owners.js
Ext.define('Mb.store.Owners', {
extend: 'Ext.data.Store',
model: 'Mb.model.Owner',
autoLoad: true,
proxy: {
...
});
Application.js
Ext.define('Mb.Application', {
name: 'Mb',
extend: 'Ext.app.Application',
models: [
'Owner'
],
stores: [
'Owners'
],
...
app/view/Owners.js
Ext.define('Mb.view.winbiz.Owners', {
extend: 'Ext.grid.Panel',
alias: 'widget.test-gridPanel',
store: 'winbiz.Owners',
columns: [{
...
视图在控制器中实例化:
Ext.define('Mb.controller.Winbiz', {
extend: 'Ext.app.Controller',
views: [
'Owners'
],
init: function(){
this.control({
'menu #test': {click: this.onMenuTest},
})
},
onMenuTest: function(){
this.getController('Main').addToMainTab('test-gridPanel');
},