showLoadingIndicator
showLoadingIndicator
このフォームの領域の上にローディングインジケーターを表示します。
パラメータ
timeoutSeconds(number): 自動的に非表示にするまでのタイムアウト(秒)。0を渡すと既定値の20秒が適用されます
戻り値: なし(void)
説明
現在のフォームのcontextKey(フォーム専用のBuildContext)にバインドされたloaderOverlay.show()を直接呼び出します。インジケーターはそのフォームの領域内にのみ表示されます。
警告
参照カウントはありません。 showLoadingIndicatorを複数回呼び出してもカウンターは積み上がらず、hideLoadingIndicatorを1回呼び出すだけで即座に非表示になります。ネストした呼び出しが必要な場合は$app.showLoadingIndicatorを使用してください。
$formと$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)— アプリ全体のローディングインジケーター(参照カウントあり)