[ExtJS] viewModel 动态绑定store

本文探讨在ExtJS中如何动态地将store绑定到viewModel,特别是在使用grid时需要根据不同情况切换不同store的问题。遇到的问题是,当切换store后,viewModel中的person和meeting的proxy变为null。解决方案是将store的动态配置移动到data中。
摘要由CSDN通过智能技术生成

在使用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了

解决方法:

将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'
            }
        }
    },
},

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

29号同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值