customElements技術を用いてWebComponentsを作成した場合、利用するHTMLからプロパティ操作などを実行したいケースがあります。
customElementsはレンダリング後に機能をロードしてアップグレードし、undefined→definedと状態遷移します。
undefinedの段階で処理が走ってしまうと、対応する機能が存在しないため結果的に何も起こりません。
customElements.whenDefined('my-component').then()
を利用するとPromiseでアップグレード後に処理を実行でき、HTML上のスクリプトタグからでもカスタムコンポーネントを操作できます。
また、CSSには:defined
セレクタがあり、:note(:defined)
とセットで状態別のスタイルを定義できます。
⁋ 2018/06/12↻ 2024/11/07
中馬崇尋
Chuma Takahiro
Chuma Takahiro