无法覆盖Sencha Touch应用程序中的应用程序变量

时间:2012-04-12 17:20:52

标签: sencha-touch extjs sencha-touch-2

我有一个Sencha Touch应用程序我正在尝试为其设置全局变量。 编辑:更多说明,我需要能够在所有视图中访问此全局变量。

我将应用程序上的变量设置为默认值,然后在启动期间覆盖它。但是,它没有被覆盖。

Ext.application({
    name: 'hd',
    isAuth: 'false',
    launch: function() {
       hd.app.isAuth = 'true';
       Ext.Msg.alert(hd.app.isAuth); //This always returns 'false'
    }
});

我没有收到任何控制台错误,我找不到任何有类似问题的人。我显然做错了。有人能告诉我这样做的正确方法吗?

2 个答案:

答案 0 :(得分:1)

我认为app不应该出现在这里。此代码段会警告true

Ext.application({
    name: 'hd',
    isAuth: 'false',
    launch: function() {
       hd.isAuth = 'true';
       Ext.Msg.alert(hd.isAuth); // will return true as I have tested
    }
});
祝你好运。

已编辑:这应将hd.app.isAuth更改为您的愿望值

Ext.application({
    name: 'hd',
    isAuth: 'false',
    setIsAuth: function(value){
        this.isAuth = value;
    },
    launch: function() {
       hd.app.setIsAuth('true');
       Ext.Msg.alert(hd.app.isAuth);
    }
});

答案 1 :(得分:0)

你可以在下面

Ext.application({
name: 'hd',
launch: function() {
   this.isAuth = 'true';
   Ext.Msg.alert(hd.isAuth); //This returns 'true'
   this.isAuth = 'false';
   Ext.Msg.alert(hd.isAuth);//This returns 'false';
}});