extjs - Store with autoload true should not load on application launch

后端 未结 3 1070
误落风尘
误落风尘 2021-02-15 16:54

I have a grid linked to a store with autoLoad: true. The problem is that the store gets loaded on application launch, even if the view is created only later when ac

3条回答
  •  孤独总比滥情好
    2021-02-15 17:29

    This is my final controller code:

    Ext.define('Mb.controller.Winbiz', {
        extend: 'Ext.app.Controller',
        views: [
            'Owners'
        ],
        refs: [{ref: 'testGrid', selector: 'test-gridPanel'}],
        init: function(){
            this.listen({
                store: {
                    '#Owners':{ load: this.onOwnersLoad}
                }
            })
            this.control({
                'menu #test': {click: this.onMenuTest},
                'test-gridPanel': {render: this.onOwnersRender}
            })
        },
        onMenuTest: function(){
            this.getController('Main').addToMainTab('test-gridPanel');
        },
        onOwnersLoad: function(store){
            store.loaded = true
        },
        onOwnersRender: function(){
            var store = this.getTestGrid().getStore();
            if(!store.loaded)store.load();
        },
    

    It puts all code into the controller as suggested by @pcguru and uses the render event to shorten the code as suggested by @Lolo. Thanks

提交回复
热议问题