[ExtJS] viewModel 动态绑定store

在使用grid时,想要动态绑定store,并且在不同情况下,采用不同的store

本使用官方的viewModel中的,stores 绑定,如下:

{
    xtype: 'grid',
    viewModel: {
        data: {
            IsMeetingBoard: true,
        },
        stores: {
            person: { //用于动态切换的两个store
                autoLoad: true,
                    proxy: {
                    type: 'ajax',
                        api: 'store/TD.DevCenter/QueryPersonPm'
                }
            },
            meeting: {
                autoLoad: true,
                    proxy: {
                    type: 'ajax',
                        api: 'store/TD.DevCenter/QueryMeet'
                }
            }

        },
    },
    bind: {
        store: '{IsMeetingBoard?meeting:person}'//用于动态切换的store 通过另一个属性控制
    },
}

结果在切换时 出现如下情况:

来回切换后,发现 viewModel中的 person 和 meeting 的 proxy 代理 都为null了

[ExtJS] viewModel 动态绑定store_第1张图片

解决方法:

将store的动态配置项,挪入到 data中

viewModel: {
    data: {
        IsMeetingBoard: true,
        person: {
            autoLoad: true,
            proxy: {
                type: 'ajax',
                api: 'store/TD.DevCenter/QueryPersonPm'
            }
        },
        meeting:{
            autoLoad: true,
            proxy: {
                type: 'ajax',
                api: 'store/TD.DevCenter/QueryMeet'
            }
        }
    },
},

 

你可能感兴趣的:(ExtJS)