registerRefreshContainer()
ディスパッチされた更新イベントを受信して、更新処理を開始するコンテナを登録します。RefreshView API を使用するには、RefreshEvent
を受信するように登録したコンポーネントをページ上のいずれかの場所に配置する必要があります。
contextElement
— (必須) 更新イベントを受信するコンテナを表すHTMLElement
。providerMethod
— (必須) 更新処理の開始時に呼び出すコールバックメソッドを特定するFunction
。このコールバックは、更新処理全体の状況を表すPromise
をパラメータとして受け取ります。
更新イベントを受け取るコンテナを一意に識別するための数値の refreshNode.handle
値を返します。この値を unregisterRefreshContainer()
に渡すことで、コンポーネントでの更新イベントの受信を停止できます。
コンテナの connectedCallback()
内で registerRefreshContainer()
メソッドを使用して、RefreshEvent
信号の受信を登録します。次に例を示します。
this
を registerRefreshContainer()
に渡すと、RefreshEvent
の要素にイベントリスナーがバインドされます。
登録済みの更新コンテナで RefreshEvent
が受信されると、その更新ツリーで更新処理が開始されます。
RefreshEvent
は DOM のイベントバブルのルールに従うため、この処理を開始する更新コンテナは、通知元のコンポーネントに最も近い登録済み上位ノードになります。ページ全体を更新するには、適切なレベルでコンテナを登録するか、ページホストがコンテナとして機能するように設定する必要があります。
登録済みコンテナのコールバック (この例では refreshContainer()
) は、コンテナが RefreshEvent
を受信すると呼び出されます。コールバックは、更新処理の開始時にパラメータとして Promise
を受け取ります。この Promise
は、更新処理が完了すると RefreshStatus
の値で解決されます。
登録済みコンテナのコールバックメソッドは、次のような更新関連の処理を管理するために使用することができます。
- 計測の開始/終了
- スピナーの表示
- エラー処理
- トースト
disconnectedCallback()
で、unregisterRefreshContainer()
メソッドを使用して、更新コンテナとして登録されているビューコントローラを解除する必要があります。