0

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

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

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

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

4

2 回答 2

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);
    }
});
于 2012-04-12T17:24:10.133 回答
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';
}});
于 2012-04-13T03:17:02.810 回答