setVar
setVar
フォームスクリプトから、LucyStudioデザイナーに**あらかじめ定義されたフォーム変数(Form Var)**へ値を設定します。
パラメータ
localVarName(string): LucyStudioのフォーム設定であらかじめ定義された変数名data(any): 設定する値(文字列、数値、真偽値、オブジェクトなど)
戻り値: なし(void)
説明
$form.setVarは、LucyStudioデザイナーでフォーム単位にあらかじめ定義された変数へ値を保存します。内部ではLucyVarMngr.setVarValue(_mapFormVar, localVarName, data)を呼び出します。
変数は現在のフォームインスタンスにのみ有効で、フォームが閉じられると破棄されます。同じフォームが複数のインスタンスとして開かれている場合、各インスタンスは独立した変数空間を持ちます。
警告
変数名はLucyStudioデザイナーであらかじめ定義されている必要があります。定義されていない変数名を使用しても動作しません。setSharedData・setStoreDataとは異なり、任意のキーを使うことはできません。
$form・$app・$pageの比較
| 区分 | $form.setVar | $app.setVar | $page.setVar |
|---|---|---|---|
| スコープ | 現在のフォームインスタンス | アプリ全体で共有 | ❌ 未対応 |
| 事前定義の場所 | LucyStudioのフォーム設定 | LucyStudioのアプリ設定 | — |
| ライフサイクル | フォームが閉じられると破棄 | アプリ実行中は保持 | — |
| clearVarの初期化基準 | 宣言時に指定した既定値 | 宣言時に指定した既定値 | — |
| 他のフォームからのアクセス | ❌ 不可 | ✅ 可能 | — |
アプリ全体で共有する必要がある場合は$app.setVarを使用してください。
Example
// LucyStudio에서 폼에 "count", "userName" 변수가 사전 정의된 경우
$form.setVar("count", 0);
$form.setVar("userName", "홍길동");
$form.setVar("selectedItem", { id: 1, name: "아이템1" });
// 값을 읽어서 사용
var count = $form.getVar("count");
$log.i("현재 카운트:", count);
関連
$form.getVar(localVarName)— フォーム変数を読み取る$form.clearVar(localVarName)— フォーム変数を初期値に戻す$app.setVar(appVarName, data)— アプリ全体の変数を設定$form.setSharedData(key, data)— 任意のキーでインメモリデータを保存(事前定義は不要)