本文へ移動
rdlabo.devdocs

表示意図の観測

投影状態が表すのは、コンポーネントをどこに表示すべきかです。トグルのchecked状態や選択タブなどの値とは独立しています。値との接続は値のバインディングを参照してください。

たとえば、モーダルを閉じてもタブバーが予期せず非表示のままの場合、この属性を調べると、web要求が残っているのか、native要求の復元がまだ保留中なのかを区別できます。所有権の選択を診断するための情報であり、バーを再表示したり画像を早く破棄したりする許可ではありません。

セレクターに基づくNativeUIProjection登録は、現在のDOMコンテナに読み取り専用のdata-native-ui-destination属性を書き込みます。

値 意味
native ネイティブでの表示が要求されています。
web 明示的に、または登録済みオーバーレイがコンテナを覆うため、Webでの表示が要求されています。
none 表示が要求されていません。

投影先の通知が先に届いていなければ、起動時の意図はネイティブビューの可視性から決まります。ビューが非表示または存在しなければnoneで始まります。その後、プラグインの投影イベントがnative、web、noneを選択します。オーバーレイの被覆は、通常ならnativeとなる要求をWebへ変更しますが、明示的なnoneは上書きしません。Engineは表示の調整に合わせて属性を更新し、コンテナの置換や登録の破棄時に削除します。この属性はEngine専用とし、アプリケーションコードから設定しないでください。

これは表示の意図であり、ネイティブフレームや画像の描画完了を示す確認応答ではありません。Web表示には、利用可能性と組み込み側の方針に応じて、キャッシュ済みネイティブ画像または既存の操作可能なフォールバックを使います。この属性がnativeだからという理由だけでフォールバックを隠さないでください。Engineのハンドオフは、次の表示の準備ができるまで以前の表現を維持します。

この属性は、可視性の制御を奪わない診断やアプリの状態に使ってください。変更の要求には、引き続き文書化された投影イベントを使います。所有権、フォールバック、操作のルールは投影の契約を参照してください。内部のスナップショット属性は、追加の公開状態APIではありません。