showLoadingIndicator
showLoadingIndicator
이 폼 영역 위에 로딩 인디케이터를 표시합니다.
파라미터
timeoutSeconds(number): 자동 숨김 타임아웃(초).0을 전달하면 기본값 20초 적용
반환: 없음 (void)
설명
현재 폼의 contextKey(폼 전용 BuildContext)에 바인딩된 loaderOverlay.show()를 직접 호출합니다. 인디케이터는 해당 폼 영역에만 표시됩니다.
경고
레퍼런스 카운팅 없음. showLoadingIndicator를 여러 번 호출해도 카운터가 쌓이지 않으며, hideLoadingIndicator를 한 번만 호출하면 즉시 숨겨집니다. 중첩 호출이 필요하다면 $app.showLoadingIndicator를 사용하세요.
$form vs $app 상세 비교
| 구분 | $form.showLoadingIndicator | $app.showLoadingIndicator |
|---|---|---|
| 표시 범위 | 해당 폼 영역만 | 앱 전체 (루트 오버레이) |
| 레퍼런스 카운팅 | ❌ 없음 | ✅ 있음 (중첩 호출 지원) |
| 기본 타임아웃 (0 전달 시) | 20초 | 10초 |
| hide 동작 | 즉시 숨김 | refCount가 0이 될 때만 숨김 |
| 다이얼로그·시트 위에 표시 | 폼 범위 내에서만 | 모든 오버레이 위에 표시 |
언제 $form을 사용할까?
- 특정 폼 영역만 로딩 중임을 표시할 때
- 다른 폼은 정상적으로 사용 가능해야 할 때
- 중첩 호출이 없는 단순한 단건 요청
언제 $app을 사용할까?
- 앱 전체를 블로킹해야 할 때 (로그인, 전역 초기화 등)
- 여러 비동기 요청이 중첩될 수 있고, 모두 완료될 때까지 숨기지 않아야 할 때
$http요청 등 다중 호출이 중첩되어 show/hide 횟수 매칭이 필요할 때
Example
// 단순 폼 로딩
$form.showLoadingIndicator(10);
$http.get("/api/data", function(res) {
$form.hideLoadingIndicator();
$log.i("데이터:", res.data);
});
관련
$form.hideLoadingIndicator()— 폼 로딩 인디케이터 숨김$app.showLoadingIndicator(timeoutSeconds)— 앱 전체 로딩 인디케이터 (레퍼런스 카운팅)