8

JavaとC++では、変数をグローバルに格納し、プロジェクトのどこからでもその値にアクセスできます。たとえば、私はというクラスの中にいて、これをというグローバル変数Residenceに保存しています。residenceNumberINThouseNumberGlobalVariable

houseNumberGlobalVariableこれで、プロジェクト内のどのクラスからでもアクセスできるよう になりました。同様に、EXTJS使用できるグローバル変数はありますか。

あるクラスから値を設定し、別のクラスから値にアクセスする必要があります。EXTJSで同等のものは何ですか。EXTJSにはグローバル変数の概念はないと思いますが、それに相当するものは何ですか?

4

5 に答える 5

20

特別なクラスを作成し、globalそこにすべての変数を配置します。

Ext.define('MyApp.global.Vars', {
    singleton: true,
    ....   
    houseNumberGlobalVariable: undefined

});

このように、コード内のどこからでもアクセスする必要がある場合は、次を使用してください。MyApp.global.Vars.houseNumberGlobalVariable

于 2012-07-05T11:43:00.287 に答える
3

その中で変数を宣言するだけでapp.js、グローバル変数として機能します。

var globalVar;

あなたはそのようなものに何でも追加することができます

globalVar.myStore = yourStore;
于 2012-07-05T15:26:50.163 に答える
3

アプリケーションに基づいて、グローバル変数を宣言できます。

シナリオ1:構成内で宣言する

getter / setterメソッドを使用する場合(つまり、変数を頻繁に変更してから、構成ベースに移行する場合)

Appconstantsの宣言

Ext.define('Practice.utilities.AppConstants', {
    alias: 'widget.AppConstants',
    config: {
        mainVarTest: 'mainVarTest',
    },
    testvar: 'Testing value',
    foo: 'bar',
    meh: 42,
    constructor: function(options) {
        this.initConfig(options);
    }
});

変数の呼び出し

var AppConstants = Ext.widget("AppConstants"); 
console.log(AppConstants.getMainVarTest());

シナリオ2:シングルトンクラス内で宣言する

アプリケーションにグローバル変数が必要であるが、アプリ内でそれ以上変更されない場合。このクラスは、定数変数を1回だけロードするのに役立ちます。(つまり、変数を変更するつもりはありません)。このタイプはアプリケーションに適しています

宣言する

Ext.define('Practice.utilities.AppConstants', {
    alias: 'widget.AppConstants',
    singleton: true,
    testvar: 'Testing value',
    foo: 'bar',
    meh: 42,
});

呼び出し

var AppConstant=Practice.utilities.AppConstants;
console.log(AppConstant.foo);

シナリオ3:静力学として宣言する

静的変数は静的変数です(Javaとまったく同じです)。静的変数を使用する利点は、変数の有効期間が明示的にクリアされるまで無期限に長くなることです。

Ext.define("Practice.utilities.AppConstants", {
     statics: {
         mainVarTest: 'mainVarTest'
     },
 });
于 2013-12-12T07:44:16.513 に答える
1

ここで欠けているのは、グローバル変数の作成方法に関するSenchaArchitectプログラムの解決策であることに気づきました。

プロジェクトインスペクターの「アプリケーション」ノードに移動します。次に、[構成の検索/フィルター]ボックスをクリックします。これは、検索だけでなく、構成エントリの作成にも使用できます。このボックスを最初に見ると、スモーキーのテキストが事前に入力されていますFilter Configs...

グローバル変数名を入力すると、以下のリストに何も見つからないことに気付くでしょう(値が構成リストにある場合は、すでにこの変数を持っているか、キーワードを使用しています)。テキストボックスとロックアイコンの右側には、[追加]ボタンがあります。「追加」ボタンをクリックして、グローバル変数をアプリケーションに追加します。

Fooしたがって、この時点で変数を作成したとしましょう。これで、構成リストにエントリが表示されます。このエントリの左側には省略記号ボタンがあります。これは現在、作成した新しい変数が文字列であることを示しています。ボタンをクリックして、「番号」フィールドなどの別のボタンに変更します。この新しい変数の値を入力すると、グローバル変数が作成されます。

では、この新しく作成された変数にどのようにアクセスしますか?これは、使用するローカル変数にグローバルを詰め込むコードのサンプルビットです。

var bar= MyApp.app.Foo;

「MyApp」参照は、name作成するアプリケーションのアプリケーション構成設定です。でフィルタリングすることにより、アプリケーションノードの構成設定でこれと同じ値を見つけることができますname

于 2014-10-21T18:02:08.020 に答える
0

var globalVar = {}; app.jsファイルを追加すると、正常に機能します

于 2018-11-27T19:43:46.947 に答える