Vueのミックスインと継承について詳しく説明します

Vueのミックスインと継承について詳しく説明します

序文

Vue での Mixin は比較的単純な知識ポイントです。 less や sass などの CSS 前処理言語に精通している開発者は、mixin にも精通している必要があります。 Vue のミックスインは、less などのミックスインとほぼ同じです。これらはすべて、定義された関数をそのまま Vue コンポーネントに挿入します。これは、オブジェクト指向プログラミングの継承に似ています (似ていると言っただけです :))。

ミックスインは、Vue インスタンスまたはコンポーネント インスタンスのライフサイクル フックとプロパティをプロパティとして持つことができるオブジェクトです。グローバルにまたはコンポーネントにミックスインすると、Vue インスタンスまたはコンポーネント インスタンスには、ミックスインで定義されたライフサイクル フックとプロパティが設定されます。 2 つの間に重複がある場合は、特定のルールに従って結合されます。

ミキシン

  • 複数の vue ファイルで再利用される関数コードを 1 つの js ファイルに抽出し、必要な場所で呼び出します。
  • js ファイル内にオブジェクトを定義します。オブジェクト内には、vue ファイルの <script> で定義できるデータ、メソッド、コンポーネントなどのコードを記述できます。

Mixin ノート (重複名)

  • コンポーネント内のデータ変数名とミックスイン内のデータ変数名が重複している場合は、コンポーネントが優先されます。
  • コンポーネント内のメソッド、計算済みメソッド、および wath の名前が重複している場合と、ミックスイン内のメソッド、計算済みメソッド、および wath の名前が重複している場合、コンポーネントが優先されます。
  • コンポーネント内のライフフック関数とミックスイン内のライフフック関数の名前が同じ場合、両方が実行されますが、コンポーネント内のフック関数が最初に実行されます。

ローカルミックスイン

グローバル ミックスイン

定義とグローバル登録

電話

継承する

  • 注意: 多重継承の問題が頻繁に発生するため、多重継承はここでは適していません。
  • .vue ファイルを継承するだけでなく、extends では mixin のように js ファイル内のオブジェクトも使用できます。
  • extends inheritance.vueファイル内のテンプレートのHTMLは継承できません

ミックスインと継承の違い

  • まずは公式ドキュメントの定義を見てみましょう。実は、どちらも継承として理解することができます。
  • ミックスインはオブジェクトの配列を受け取ります(これは多重継承として理解できます)。
  • extends が受け取るのはオブジェクトまたは関数です (単一継承として理解できます)。
  • 注: コンポーネントが継承とミックスインの両方を使用する場合、両者の間に重複する名前があると、ミックスインが継承をオーバーライドします。

要約する

Vue のミックスインと継承に関するこの記事はこれで終わりです。Vue のミックスインと継承に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue2.0コンポーネントの継承と拡張の詳細な説明
  • Web プロジェクト開発 VUE の混合と継承の原則
  • Vueにおける混合継承の詳細な説明

<<:  Nginx の起動に失敗した場合のいくつかのエラー処理の詳細な説明

>>:  URLパラメータに基づくNginx転送

推薦する

時間範囲効果を実現するためのJavaScript

この記事では、時間範囲効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します...

Tomcat8はcronologを使用してCatalina.Outログを分割します

背景tomcat によって生成された catalina.out ログ ファイルが分割されていない場合...

CSSでプロセスナビゲーション効果を実現する(3つの方法)

CSS によりプロセスナビゲーション効果を実現します。具体的な内容は以下のとおりです。 ::tip...

インターフェーステストプラットフォームを構築するためのDjango+Vue+Dockerの詳細な説明

1. 冒頭の2つの単語みなさんこんにちは。私の名前はLin Zonglinです。私はテストエンジニア...

JavaScript スロットリングとアンチシェイクに関する簡単な説明

目次スロットルと手ぶれ防止コンセプト:違いスロットリングの実装スロットル機能手ぶれ補正の実装手ぶれ防...

Vueのvue-tree-colorコンポーネントの組織構造図の事例を詳しく解説

目次ネプローダーをインストールするプラグインのインポート始める配置折りたたみディスプレイノードをクリ...

MySQL 8.0.22 zip圧縮パッケージ版(無料インストール)のダウンロード、インストール、および構成手順の詳細

目次最初のステップはMySQLをダウンロードすることですステップ2: ダウンロードした圧縮パッケージ...

vue + Electron でデスクトップ アプリケーションを作成するためのサンプル コード

1.vueパッケージングここでは、vueネイティブパッケージングコマンドを使用してvueプロジェクト...

システム エラー 1067 のため、MySQL 5.6 解凍バージョン サービスを開始できません

今日午後ずっと私を悩ませたバグを記録する半月前から始めましょう。それから.................

最小限のルートファイルシステムを構築するためにbusyboxを移植するための詳細な手順

Busybox: 小さなコマンドが詰まったスイスアーミーナイフ。ステップ1: ディレクトリ構造を作成...

ビューポートの基本原理と詳細な使用方法

1. ビューポートの概要モバイル ブラウザは通常、画面よりも幅の広い仮想ウィンドウにページをレンダリ...

CSS を使用して固定左列と適応右列の 2 列レイアウトを実現する 4 つの方法

1. フロート+オーバーフロー:非表示このメソッドは主にオーバーフローを通じて BFC をトリガーし...

20個のJavaScriptワンラインコードを共有する

目次1. ブラウザのクッキーの値を取得する2. RGBを16進数に変換する3. クリップボードにコピ...

Vue.js ソースコード解析のカスタム手順の詳細な説明

序文コア機能のデフォルトの組み込みディレクティブ (v-model および v-show) に加えて...

製品を選択した後、右下隅に√記号を表示するための純粋なCSS

おすすめの記事: CSS 疑似クラスの右下隅をクリックすると、選択を示すチェックマークが表示されます...