1

.js ファイルでグローバル変数を使用したい。例えば、

「a.js + a.html」でファイルコンテンツを読み取り、特定の変数「fileContent」に保存すると

次に、「b.js + b.html」でその「fileContent」も使用したいと思います。

(また、「b.js + b.html」の「fileContent」を変更すると、「a.js + a.html」の「fileContent」に影響するはずです)

私は何をすべきか?

ありがとうございました。

4

4 に答える 4

6

Windows 8 アプリケーションのアーキテクチャが単一ページ モデルであることを考えると、ブラウザーをナビゲートせず、HTML のフラグメントを読み込んで現在のドキュメントに挿入するだけなので、これは非常に簡単です。ただし、「そのままの」グローバル変数ではなく、何らかの型付けを使用することをお勧めします。

ファイル A (globals.js):

WinJS.Namespace.define("MyGlobals",  {
    variableA: null,
});

これを、WinJS インクルードの後に​​ default.html の先頭に含めます。

ファイル B (b.js):

// your other code
...
MyGlobals.variableA = getValueFromSomewhere();

ファイル C (b.html、または c.js):

// your other code
...
printSomethingAwesomeFromData(MyGlobals.variableA);
于 2013-01-04T17:08:49.303 に答える
1

変数を簡単に定義して、グローバル変数として使用できます。たとえば、

WinJS.Namespace.define("MyGlobals", {i: 0,k:5    })

チェックのために、次のようなイベントリスナーを追加できます

div1.addEventListener('click', divClickEvent);

function divClickEvent() {
        MyGlobals.i++;
        MyGlobals.k++;
        console.log("ValueOf_i____" + MyGlobals.i);
        console.log("ValueOf_k____" + MyGlobals.k);
    }
于 2013-04-23T12:16:04.910 に答える
1

アプリ設定も使用できます。

var applicationData = Windows.Storage.ApplicationData.current;
var localSettings = applicationData.localSettings;
var composite = new Windows.Storage.ApplicationDataCompositeValue();
composite["intVal"] = 1;
composite["strVal"] = "string";

localSettings.values["exampleCompositeSetting"] = composite;

ここで詳細情報を見つけることができます:リンク

于 2013-01-04T14:49:57.893 に答える
0

localStorage を使用します。
A:

localStorage.setItem('fileContent', 'value;');

B:

var fileContent = localStorage.getItem('fileContent');

localStorageまたは、他のオブジェクトと同じようにアクセスします。

localStorage.fileContent = "value";

ただし、 はlocalStorageすべての値を文字列に変換することに注意してください。これには、オブジェクトと配列が含まれます。JSON.stringifyそれらを設定/取得するには、それぞれ JSON.parseを使用する必要があります。

localStorage.setItem('fileContent', JSON.stringify([1,2,3,4,5,6,7]));
var fileContent = JSON.parse(localStorage.getItem('fileContent'));
于 2013-01-04T14:40:57.117 に答える