postMessage
postMessage
このフォームまたは子フォームへメッセージを送信します。受信側フォームのonMessageハンドラーが呼び出されます。
パラメータ
name(string):onMessageハンドラーへルーティングされるメッセージ名data(any): ハンドラーへ渡すペイロード(null可)target(string、任意): 配信先- nullまたは空文字列 → 自分自身
- FormContainer名 → その子フォーム
- カンマ区切り → 複数の子フォームへ同時配信
'*'→ 自分自身とすべての埋め込みフォームへブロードキャスト
戻り値: なし(void)
postMessage・postMessageAll・postDelayedMessage・postMessageToAppの比較
| メソッド | 配信範囲 | 遅延 |
|---|---|---|
postMessage | 自分自身、または指定した子フォーム | なし |
postMessageAll | 自分自身とすべての子フォーム(再帰) | なし |
postDelayedMessage | postMessageと同じ | 指定したミリ秒後 |
postMessageToApp | アプリレベル(KAppManager) | 0または指定したミリ秒 |
Example
// 자기 자신에게 메시지
$form.postMessage("refresh", null, null);
// 특정 자식 폼에 전달
$form.postMessage("updateStock", { code: "005930" }, "stockChart");
// 여러 자식에 동시 전달
$form.postMessage("resetAll", null, "panel1,panel2");
// 자신 + 모든 임베드 폼에 브로드캐스트
$form.postMessage("themeChanged", { dark: true }, "*");
関連
$form.postMessageAll(name, data)— 自分自身とすべての子へ再帰的に送信$form.postDelayedMessage(name, data, target, milliSeconds)— 遅延後に送信$form.postMessageToApp(name, data, milliSeconds)— アプリレベルのメッセージ