序文Vue3 には多くの注目すべき機能が追加されましたが、サスペンス コンポーネントもその 1 つです。これは非同期リクエスト データを処理するのに非常に実用的です。この記事では、簡単な例を通してその使い方を紹介します。興味がある場合は、公式ドキュメントを参照してください。 コンポーネントが正しくレンダリングされる前に、何らかの非同期リクエストを実行する必要があることはよくあります。これは通常、開発者がこれを処理するために設計したメカニズムによって処理されます。これを行うには多くの優れた方法があります。 たとえば、API から非同期的にデータを取得し、応答データが解析されるときに読み込み効果などの情報を表示する場合は、Vue3 の suspense コンポーネントを使用してそのような要件を実行できます。 コンポーネントの作成コンポーネントを作成し、Peoples.vue という名前を付けます。そのコンポーネント コードは次のとおりです。 <テンプレート> <div v-for="(people, index) in peoples.results" :key="index"> {{ people.name }} {{ people.birth_year }} </div> </テンプレート> <スクリプト> "vue" から { ref } をインポートします。 エクスポートデフォルト{ 名前: 「CyPeoples」、 非同期セットアップ() { const peoples = ref(null); const ヘッダー = { "Content-Type": "application/json" }; const fetchPeoples = fetch("https://swapi.dev/api/people", { を待機します。 ヘッダー、 }); peoples.value = fetchPeoples.json() を待機します。 { 人々 } を返します。 }, }; </スクリプト> ここで、コンポーネント状態の反応性を保証するために ref が導入されています。したがって、上記のコード スニペットによれば、ムービー データは非同期 API 呼び出しを通じて取得されます。 さて、サスペンスを使用してアプリケーションに読み込み情報を表示してみましょう。 App.vue ファイルを変更して、コードを次のようにします。 <テンプレート> <div> <h1>スターウォーズのキャラクター</h1> </div> <サスペンス> <テンプレート #デフォルト> <サイピープルズ /> </テンプレート> <テンプレート #フォールバック> <div> <h3>データを読み込んでいます...</h3> </div> </テンプレート> </サスペンス> </テンプレート> <スクリプト> 「./components/Peoples.vue」からCyPeoplesをインポートします。 「vue」から { suspense } をインポートします。 エクスポートデフォルト{ 名前:「アプリ」、 コンポーネント: サイピープルズ、 サスペンス、 }, }; </スクリプト> 上記のコード スニペットから、非同期リクエストが完了した後に UI を表示するための初期化テンプレート コンポーネントとして #default を使用し、サスペンス コンポーネントを使用して読み込み効果を簡単に実現できます。 #fallback は、非同期リクエスト内の処理 UI であり、一般的な読み込み効果です。 要約するサスペンス コンポーネントは、非同期リクエスト UI の処理ロジックを簡素化する Vue3 の新機能です。 Vue3 非同期データ読み込みコンポーネントサスペンスに関するこの記事はこれで終わりです。Vue3 非同期データ読み込みコンポーネントサスペンスに関するその他の関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Windows 環境での MySQL 8.0 のインストール、設定、アンインストール
>>: VMware Workstation Pro は Win10 ピュア バージョンのオペレーティング システムをインストールします
Linux に触れたばかりの方には、この内容が役に立つかもしれません。Linux にしばらく触れてい...
目次1. カウントデータが失われる解決2. 明確なデータ損失3.データ損失を選択解決4. Nullポ...
この方法は、CSS3のdrop-shadow filterを使用して、png画像の不透明部分に任意の...
MySQL はほとんどの場合、GROUP BY クエリと DISTINCT クエリを同様に処理します...
目次1 配列のフラット化とは何ですか? 2 JS標準ライブラリの配列フラット化メソッド3 フラットメ...
1. dhtmlxツリー dHTMLxTree は機能豊富なツリー メニュー コントロールです。豊...
1. どの 3 つの形式ですか?それぞれ、gif、jpg、png です。画像ファイルを最適化すること...
<br />フォームはユーザーが情報を送信するための重要なチャネルです。このセクションで...
1. 需要バックエンドは、フロントエンドがツリー構造(重複データなし)に変換するためのデータを提供し...
HTML のヘッド部分には、ブラウザによる Web ページのレンダリングや SEO などに関連するタ...
目次ケース1:ケース2:ケース3:簡単にまとめると:過去 2 日間で、完全なテーブル スキャンを引き...
現象:イメージを実行します (例: ubuntu14.04)。 docker run -it --r...
(1)HTTPリクエストを減らす。 (リソース ファイルをマージし、イメージ スプライトを使用します...
MySQL は最も人気のあるリレーショナル データベース管理システムです。WEB アプリケーションに...
目次1. マップを初期化する2. マップポイント3. 位置決めを有効にする4. マップの変更を監視す...