Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
extjs全局变量始终返回原始值_Extjs_Singleton_Global Variables - Fatal编程技术网

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; 现在我尝

我尝试创建一个extjs全局变量类,如下所示:

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()
让你成为一个小提琴手,我猜你的模型代理是在你调用控制器中的更改之前生成的。让你成为小提琴手,我猜你的模型代理是在你调用控制器中的更改之前生成的。