extjs全局变量始终返回原始值
我尝试创建一个extjs全局变量类,如下所示:extjs全局变量始终返回原始值,extjs,singleton,global-variables,Extjs,Singleton,Global Variables,我尝试创建一个extjs全局变量类,如下所示: Ext.define('ccc.global.GlobalVariables', { singleton: true, username: 'hi user', password: '', clientID: '', token: '' }); 然后在控制器中,我尝试如下更改变量: ccc.global.GlobalVariables.username = loginData.username; 现在我尝
Ext.define('ccc.global.GlobalVariables', {
singleton: true,
username: 'hi user',
password: '',
clientID: '',
token: ''
});
然后在控制器中,我尝试如下更改变量:
ccc.global.GlobalVariables.username = loginData.username;
现在我尝试在不同的模型代理中访问这些变量,它不断返回原始值'hi user'
proxy: {
type: 'ajax',
extraParams: {
'username': ccc.global.GlobalVariables.username
},
有人看到我做错了什么吗?当在代理定义中使用变量时,变量内容在定义时设置到代理中,而不是在实例化时,尤其是在使用时。它不会自动更新 这就是为什么至少对于组件来说,有一个属性明确地告诉组件要绑定到外部源的配置,以便在源更新时自动更新 IIRC a代理不支持bindable mixin,因此您必须在每次同步/加载/之前手动设置extraParam。。。操作:
store.getProxy().setExtraParam("username",ccc.global.GlobalVariables.username);
store.load()
在代理定义中使用变量时,变量内容在定义时设置到代理中,而不是在实例化时,尤其是在使用时。它不会自动更新 这就是为什么至少对于组件来说,有一个属性明确地告诉组件要绑定到外部源的配置,以便在源更新时自动更新 IIRC a代理不支持bindable mixin,因此您必须在每次同步/加载/之前手动设置extraParam。。。操作:
store.getProxy().setExtraParam("username",ccc.global.GlobalVariables.username);
store.load()
让你成为一个小提琴手,我猜你的模型代理是在你调用控制器中的更改之前生成的。让你成为小提琴手,我猜你的模型代理是在你调用控制器中的更改之前生成的。