ホームページ ウェブフロントエンド フロントエンドQ&A Vue の非同期コンポーネントと動的コンポーネントの違いは何ですか

Vue の非同期コンポーネントと動的コンポーネントの違いは何ですか

Aug 26, 2022 pm 06:32 PM
vue 非同期コンポーネント 動的コンポーネント

違い: 1. 動的コンポーネントは、Vue の特別な Html 要素「」です。特別な is 属性があります。属性値は、「登録されたコンポーネントの名前」または「コンポーネント」です。 「オプション オブジェクト」; 非同期コンポーネントは物理オブジェクトではなく、コンポーネントを非同期にロードするための概念、つまり方法です。 2. 動的コンポーネントは、異なるコンポーネント間の動的な切り替えに使用され、非同期コンポーネントは、最初の画面の読み込み時間や読み込みリソース サイズの削減など、パフォーマンスの最適化に使用されます。

Vue の非同期コンポーネントと動的コンポーネントの違いは何ですか

#このチュートリアルの動作環境: Windows7 システム、vue3 バージョン、DELL G3 コンピューター。

非同期コンポーネント

一部の大規模な Vue アプリケーションでは、コード抽出であろうと論理分割であろうと、アプリケーションは必然的にいくつかの小さなブロックに分割されます。コードは私たちの意識の中でコンポーネントを形成します。必要に応じて

import を導入できます。例:

    import MyComponent from '../components/my-component.vue'

    new Vue({
        // ...
        components: {MyComponent}
    })
ログイン後にコピー
このように導入されます。

MyComponent 構築プロセス中に、ページの Bundle.js に同期されます

現時点では、次のようなシナリオがあります:

1. このコンポーネントのサイズは非常に大きい Big

2. ページの最初からは必要ありません

次に、構築プロセス中に、コンポーネント コードをページ js に入力します。は不適切です

Vue は

非同期コンポーネント の概念を提供します: 必要な場合にのみサーバーからロードされます

次のように定義できます:

    Vue.component('async-example', function (resolve, reject) {
        setTimeout(function () {
            // 向 `resolve` 回调传递组件定义
            resolve({
                template: '<div>I am async!</div>'
            })
        }, 1000)
    })
ログイン後にコピー
上の例では、

setTimeout を使用してコンポーネントの非同期取得をシミュレートしています。実際の状況では、コンポーネントのコンパイル後に Ajax 経由でテンプレートをリクエストし、読み込みが失敗した場合は resolve メソッドを呼び出すこともできます。 , reject メソッドを呼び出すことができます。

ほとんどの場合、コンポーネントは

.vue ファイルに分割されているため、これを行うことができます:

    Vue.component('async-webpack-example', function (resolve) {
        require(['./my-async-component'], resolve)
    })
ログイン後にコピー
この特別な

require 構文は、ビルド コードを複数のパッケージに自動的に分割するように webpack に指示します。これらのパッケージは、Ajax リクエストを通じてロードされます。

したがって、ページがこのコンポーネントを使用するときに、そうでない場合は、コンポーネントの js パッケージをリクエストすることは当然ありません

もちろん、非同期コンポーネントをローカルに登録することもできます

    new Vue({
    // ...
        components: {
            'my-component': () => import('./my-async-component')
        }
    })
ログイン後にコピー

動的コンポーネント

非同期コンポーネントというと、多くの人は別の同様の

動的コンポーネント を思い浮かべ、この 2 つの関係を常に混同します。

実際、

動的コンポーネント非同期コンポーネントはまったく異なります。 ! !

概要に直接移動

動的コンポーネント: これは、Vue の特別な Html 要素です: 、特別な is 属性があり、属性値は 登録されたコンポーネントの名前 または コンポーネントのオプション オブジェクト の間で使用されます。異なるコンポーネント 動的切り替えを実行します。

非同期コンポーネント: 簡単に言うと、これはコンポーネントを非同期的に読み込むための概念であり、通常、最初の画面の読み込み時間や読み込みリソース サイズの削減など、パフォーマンスの最適化に使用されます。 。

(学習ビデオ共有:

Web フロントエンドの概要 vue ビデオ チュートリアル )

以上がVue の非同期コンポーネントと動的コンポーネントの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

vue.jsでJSファイルを参照する方法 vue.jsでJSファイルを参照する方法 Apr 07, 2025 pm 11:27 PM

vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

VueでWatchの使用方法 VueでWatchの使用方法 Apr 07, 2025 pm 11:36 PM

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

VueでBootstrapの使用方法 VueでBootstrapの使用方法 Apr 07, 2025 pm 11:33 PM

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

Vueはマーキー/テキストスクロール効果を実現します Vueはマーキー/テキストスクロール効果を実現します Apr 07, 2025 pm 10:51 PM

CSSアニメーションまたはサードパーティライブラリを使用して、VUEでマーキー/テキストスクロール効果を実装します。この記事では、CSSアニメーションの使用方法を紹介します。スクロールテキストを作成し、テキストを&lt; div&gt;をラップします。 CSSアニメーションを定義し、オーバーフローを設定します:非表示、幅、アニメーション。キーフレームを定義し、アニメーションの開始と終了時にtranslatex()を設定します。期間、スクロール速度、方向などのアニメーションプロパティを調整します。

Vueのバージョンを照会する方法 Vueのバージョンを照会する方法 Apr 07, 2025 pm 11:24 PM

Vue Devtoolsを使用してブラウザのコンソールでVueタブを表示することにより、Vueバージョンを照会できます。 NPMを使用して、「NPM List -G Vue」コマンドを実行します。 package.jsonファイルの「依存関係」オブジェクトでVueアイテムを見つけます。 Vue CLIプロジェクトの場合、「Vue -Version」コマンドを実行します。 &lt; script&gt;でバージョン情報を確認してくださいVueファイルを参照するHTMLファイルにタグを付けます。

怠zyなロードVUEとはどういう意味ですか? 怠zyなロードVUEとはどういう意味ですか? Apr 07, 2025 pm 11:54 PM

Vue.jsでは、Lazy Loadingを使用すると、コンポーネントまたはリソースを必要に応じて動的にロードすることができ、初期ページの読み込み時間を短縮し、パフォーマンスを改善できます。特定の実装方法には、&lt; Keep-Alive&gt;および&lt;コンポーネントは&gt;コンポーネント。怠zyなロードは、FOUC(スプラッシュ画面)の問題を引き起こす可能性があり、不必要なパフォーマンスのオーバーヘッドを避けるために怠zyなロードが必要なコンポーネントにのみ使用する必要があることに注意してください。

VUEのボタンに関数を追加する方法 VUEのボタンに関数を追加する方法 Apr 08, 2025 am 08:51 AM

HTMLテンプレートのボタンをメソッドにバインドすることにより、VUEボタンに関数を追加できます。 VUEインスタンスでメソッドを定義し、関数ロジックを書き込みます。

Vueによる前のページに戻る方法 Vueによる前のページに戻る方法 Apr 07, 2025 pm 11:30 PM

vue.jsには、前のページに戻る4つの方法があります。$ router.go(-1)$ router.back()outes&lt; router-link to =&quot;/&quot; Component Window.history.back()、およびメソッド選択はシーンに依存します。

See all articles