この記事では、Webコンポーネントの頻繁に見過ごされているライフサイクルコールバックを調べて、コンテキスト対応要素をどのように可能にするかを示します。これらの機能の力を紹介し、その環境に反応するWebコンポーネントを構築します。
シリーズの概要
この記事は、Webコンポーネント開発の簡素化に関するシリーズの一部です。
- Webコンポーネント:あなたが思っているよりも簡単です
- インタラクティブなWebコンポーネント:思ったよりも簡単です
- WordPressでWebコンポーネントを使用する:あなたが思っているよりも簡単です
- Webコンポーネントを備えた組み込みの要素をスーパーチャージする:あなたが思っているよりも簡単
- コンテキスト認識Webコンポーネント:あなたが思っているよりも簡単です(この記事)
- Webコンポーネントの擬似クラスと擬似要素:あなたが思っているよりも簡単です
Webコンポーネントライフサイクルコールバック
4つのキーコールバックがWebコンポーネントのライフサイクルを管理します。
-
connectedCallback
:要素がDOMに追加されたときに発射されます。 -
disconnectedCallback
:要素がDOMから削除されたときに発射されます。 -
adoptedCallback
:要素が新しいドキュメントに移動されたときに解雇されました。 -
attributeChangedCallback
:観察された属性が変更されたときに解雇されました。
実用的な例でこれらを説明しましょう。
黙示録的な人コンポーネント
を作成します<postapocalyptic-person></postapocalyptic-person>
成分。それぞれの人は、その親要素の.human
または.zombie
クラスによって決定された人間またはゾンビのいずれかです。コンポーネントは、Shadow Domを使用して適切な画像を表示します。
customelements.define( 「黙示録的な人」、 クラスはhtmlelementを拡張します{ constructor(){ 素晴らしい(); this.shadowroot = this.attachshadow({mode: "open"}); } // ...ライフサイクルコールバックがここに追加されます... } );
私たちの最初のHTML:
<div class="humans"> <postapocalyptic-person></postapocalyptic-person> </div> <div class="zombies"> <postapocalyptic-person></postapocalyptic-person> </div>
connectedCallback
を使用します
connectedCallback
Whenと呼ばれます<postapocalyptic-person></postapocalyptic-person>
ページに追加されます。画像を追加するために使用します。
connectedcallback(){ const image = document.createelement( "img"); if(this.parentnode.classlist.contains( "人間")){ image.src = "https://assets.codepen.io/1804713/lady.png"; } else if(this.parentnode.classlist.contains( "zombies")){ image.src = "https://assets.codepen.io/1804713/ladyz.png"; } this.shadowroot.appendChild(画像); }
これにより、親のクラスに基づいて正しい画像が表示されます。注: connectedCallback
複数回発射できます。 this.isConnected
を使用して接続ステータスを確認します。
connectedCallback
で人々を数えます
ボタンを追加して人を追加/削除し、カウントを追跡しましょう。
<div> <button id="addbtn">人を追加します</button> <button id="rmvbtn">人を削除します</button> <br>人間: <span id="human-count">0</span> ゾンビ: <span id="zombie-count">0</span> </div>
ボタンイベントリスナー:
// ...(人の論理を追加/削除)...
connectedCallback
を更新してカウントを更新します。
connectedcallback(){ // ...(画像ロジック)... //画像ソースに基づいてカウントを更新します }
disconnectedCallback
でカウントを更新します
disconnectedCallback
減少は、人が削除されたときにカウントされます。画像ソースをタイプのプロキシとして使用します。
disconnectedCallback(){ const image = this.shadowroot.queryselector( 'img'); //画像ソースに基づいて減少カウント }
養子adoptedCallback
とattributeChangedCallback
コールバックによるピエロの検出
隠されたピエロの可能性を紹介し、それらをに移動します<iframe></iframe>
adoptedCallback
を使用し、 attributeChangedCallback
でそれらを明らかにします。この高度な例の詳細は簡潔に省略されていますが、コアコンセプトには、養子adoptedCallback
を使用して、コンポーネントが新しいドキュメントに移動されていることを検出し、変更を属性に反応し、それに応じて画像を更新することが含まattributeChangedCallback
ます。
これは、ライフサイクルコールバックが動的でコンテキストを意識したWebコンポーネントを作成するための強力なツールを提供する方法を示しています。
以上がコンテキスト認識Webコンポーネントは、あなたが思っているよりも簡単ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

今週のラウンドアップ:Firefoxは錠前屋のような力を獲得し、Samsung&#039; s Galaxy StoreがプログレッシブWebアプリをサポートし始め、CSS SubgridはFirefoxで出荷しています

今週のラウンドアップ:Internet ExplorerがEdgeに進み、Google Search Consoleが新しい速度レポートを宣伝し、FirefoxがFacebookの通知を提供します

おそらく、CSS変数に少なくとも少し精通しているでしょう。そうでない場合は、ここに2秒の概要があります:それらは本当にカスタムプロパティと呼ばれます、あなたは設定します

建物のウェブサイトはプログラミングです。 HTMLとCSSの作成はプログラミングです。私はプログラマーです。ここでCSS-Tricksを読んでいる場合、あなたは&#039;

ここに&#039;私が前もって知るのが好きなこと:これは難しい問題です。あなたがここに上陸した場合、あなたはあなたが伝えることができるツールを指し示すことを望んでいるので、あなたが&#039;

Picture-in-Pictureは、2016年にMacos SierraをリリースしたSafariブラウザでWebに初めて登場しました。ユーザーがポップできるようになりました。

Gatsbyは、画像の処理と処理の素晴らしい仕事をしています。たとえば、手動で画像の最適化で時間を節約するのに役立ちます

私は今日、私の頭の中で完全に間違っていたことをパーセンテージベース(%)のパディングについて学びました!パディングの割合はに基づいているといつも思っていました


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
