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);
Related
$app.getVar(appVarName)— App Varを読み取る$app.clearVar(appVarName)— App Varを初期値にリセットする$form.setVar(localVarName, data)— フォーム単位の変数を設定(そのフォーム内でのみ有効)$app.setSharedData(key, data)— 任意のキーでインメモリデータを保存(事前定義は不要)