0

グローバル変数を設定しようとしているSenchaTouchアプリケーションがあります。 編集:さらに明確にするために、すべてのビューでこのグローバル変数にアクセスできる必要があります。

アプリケーションの変数をデフォルト値に設定し、起動時に上書きします。ただし、上書きされていません。

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 に答える