0

サーバー側のレンダラーから JavaScript を作成/生成するコンポーネントがあります。このコンポーネントは、同じページで複数回使用できます。ただし、ページがロードされたら、ページ内のこの複数のコンポーネントによって書き込まれたすべての変数または JSO を収集する必要があります。すべての変数または JSO のコレクションを取得するにはどうすればよいですか? たとえば、このコンポーネント (としましょう) がページで 2 回使用された場合、クライアント/ブラウザーで 2 つの JavaScript ブロックを発行します - var arr1 = new Array['First', 'Second'] および var arr2 = new Array['Third' 、 '第4']。

最終的なレンダリングを行うには、これら 2 つの配列を結合する必要があります。

4

2 に答える 2

1

おそらくサンプルページを使用して、問題についてもう少し具体的にする必要がありますが、ここにいくつかの考えがあります。

ページ生成中にJavaScriptを書き込むサーバー側コンポーネントがある場合、次のような関数呼び出しを毎回生成します。

Component_appendArray(['First', 'Second']);
...
Component_appendArray(['Third', 'Fourth']);

Component_appendArray()次に、これらの呼び出しの前に関数が定義されていることを確認します。

var globalArray = [];
function Component_appendArray(array)
{
     globalArray = globalArray.concat(array);
}

最後に、globalArray以下を含める必要があります。

['First', 'Second', 'Third', 'Fourth']

お役に立てれば。

于 2008-10-12T23:18:24.807 に答える
0

シナリオ全体を理解しているわけではありませんが、ページの読み込み後に変数を使用するために HTML 全体に変数を出力する場合は、代わりに非表示の入力フィールドを使用することをお勧めします。ページの下部にある関数またはスクリプトに値を渡すために変数が使用されているのをよく見かけますが、非表示の入力フィールドの値を使用すると、すべてのスクリプトをコンテンツ領域から取り出すことができます。よりクリーンなソリューションになります。

于 2008-10-12T23:28:35.877 に答える