setVar
setVar
폼 스크립트에서 LucyStudio 디자이너에 **사전 정의된 폼 변수(Form Var)**에 값을 설정합니다.
파라미터
localVarName(string): LucyStudio 폼 설정에서 사전 정의된 변수명data(any): 설정할 값 (문자열, 숫자, 불리언, 객체 등)
반환: 없음 (void)
설명
$form.setVar는 LucyStudio 디자이너의 폼(Form) 단위로 사전 정의된 변수에 값을 저장합니다. 내부적으로 LucyVarMngr.setVarValue(_mapFormVar, localVarName, data)를 호출합니다.
변수는 현재 폼 인스턴스에만 유효하며, 폼이 닫히면 소멸됩니다. 동일한 폼이 여러 인스턴스로 열린 경우 각 인스턴스는 독립적인 변수 공간을 가집니다.
경고
변수명은 반드시 LucyStudio 디자이너에서 사전 정의되어 있어야 합니다. 정의되지 않은 변수명을 사용하면 동작하지 않습니다. setSharedData / setStoreData와 달리 자유로운 키를 사용할 수 없습니다.
$form vs $app vs $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)— 자유로운 키로 인메모리 데이터 저장 (사전 정의 불필요)