メインコンテンツまでスキップ

setVar

LucyStudioデザイナーでアプリ単位に事前定義されたApp Varに値を設定します。設定した値はアプリ全体で共有されます。

Parameters

  • appVarName (string): LucyStudioアプリ設定で事前定義された変数名
  • data (any): 設定する値(文字列、数値、ブール値、オブジェクトなど)

Returns

なし(void)

Description

$app.setVarは、LucyStudioデザイナーでアプリ単位に事前定義された変数に値を保存します。内部ではLucyVarMngr.setVarValue(appVarMap, appVarName, data)を呼び出します。

値はアプリ全体で共有されるため、どのフォームやページからでも同じ変数名で読み書きできます。アプリの実行中は保持されます。

⚠️ 変数名は必ずLucyStudioデザイナーで事前定義されている必要があります。定義されていない変数名を使うと動作しません。setSharedData / setStoreDataとは異なり、任意のキーは使えません。

⚠️ ここにLucyStudio Variables設定画面を追加、またはリンクを設定

$app vs $form vs $pageの比較

区分$app.setVar$form.setVar
スコープアプリ全体で共有現在のフォームインスタンス
事前定義の場所LucyStudioアプリ設定LucyStudioフォーム設定
ライフサイクルアプリ実行中は保持フォームを閉じると消滅
clearVarの初期化基準宣言時に指定したデフォルト値宣言時に指定したデフォルト値
他のフォームからのアクセス✅ 可能❌ 不可

フォーム内部だけで使う変数であれば、$form.setVarを使用してください。

Example

// LucyStudioアプリ設定で "loginUserId"、"theme" が事前定義されている場合
$app.setVar("loginUserId", "user_001");
$app.setVar("theme", "dark");
$app.setVar("cartItems", [{ id: 1, qty: 2 }, { id: 3, qty: 1 }]);

// 他のフォーム/ページから読み取り
var userId = $app.getVar("loginUserId");
$log.i("로그인 사용자:", userId);
  • $app.getVar(appVarName) — App Varを読み取る
  • $app.clearVar(appVarName) — App Varを初期値にリセットする
  • $form.setVar(localVarName, data) — フォーム単位の変数を設定(そのフォーム内でのみ有効)
  • $app.setSharedData(key, data) — 任意のキーでインメモリデータを保存(事前定義は不要)