ExtJs:如何在存储加载后显示viewmodel

时间:2017-07-27 03:34:56

标签: javascript extjs

我需要在存储'OrgStore'加载后显示我的viewmodel MainModel。

现在我有下一个App.js:

Ext.application({
    name: 'BillWebApp',

    extend: 'BillWebApp.Application',
    stores: ['OrgStore'],
    requires: [
        'BillWebApp.view.main.Main'
    ],
    launch: function () {
        var store = Ext.getStore('OrgStore');
        store.on('load', function() {
            BillWebApp.getApplication().setMainView('main.Main');
        });
    },
...

Orgstore中:

Ext.define('BillWebApp.store.OrgStore', {
    extend: 'Ext.data.Store',
    alias  : 'store.orgstore',
    storeId: 'OrgStore',
    model: 'BillWebApp.model.Org',
    config:{
        autoLoad: true,
        autoSync: true
    },
    proxy: {
        autoSave: false,
        type: 'ajax',
        api: {
            create  : '',
            read    : '/base/getOrgAll',
            update  : '',
            destroy : ''
        },
        reader: {
            type: 'json'
        }
    }, listeners: {
        load: function() {
            console.log("OrgStore loaded!");
        }
    }
});

MainModel:

Ext.define('BillWebApp.view.main.MainModel', {
    extend: 'Ext.app.ViewModel',

    alias: 'viewmodel.main',

    data: {
        name: 'BillWebApp',
    },

    stores: {
        orgstore: {
            type: 'orgstore'
        }
    }

});

为什么我在日志窗口中看到消息“OrgStore已加载!”两次? 一个'OrgStore'加载后,一个在MainModel启动后?

我想我调用'OrgStore'的两个实例.... 如何在存储完全加载后更改我的代码以显示MainModel?

0 个答案:

没有答案