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転送

推薦する

CSS ピックアップ矢印、カタログ、アイコン実装コード

1. CSS その他のアイコンアイコンを作成するには 3 つの方法があります。写真css (小さな矢...

Vue テンプレート構成と Webstorm コード形式仕様設定

目次1. コンパイラコードフォーマット仕様設定2. Vueテンプレートの設定1. コンパイラコードフ...

MySQL データベースのインストールと Navicat for MySQL の使用に関するチュートリアル

MySQL は、スウェーデンの会社 MySQL AB によって開発され、現在は Oracle が所有...

DIV共通属性コレクション

1. 物件リストコードをコピーコードは次のとおりです。色: #999999 テキスト色フォントファミ...

Linux ソースコードからのソケット (TCP) クライアント側での接続の例の詳細な説明

序文著者は、アプリケーションからフレームワーク、オペレーティング システムに至るまで、あらゆるコード...

SSHを使用してDockerサーバーに接続する方法

初めて docker に触れたときは本当に戸惑いました。初心者向けのチュートリアルを長い間読みました...

カンマで区切られたmysqlの分割関数の実装

1: 文字列を区切るためのストアドプロシージャを定義する 区切り文字 $$ `mess`$$ を使う...

JavaScript で支払いの 10 秒カウントダウンを実現

この記事では、支払いの10秒カウントダウンを実現するためのJavaScriptの具体的なコードを参考...

nginx が動的と静的の分離を実装する方法の例

目次server1にnginxをデプロイするサーバーにlnmpを展開するノード3にhttpdをデプロ...

MySQL 空間データストレージと関数

目次1. データ型1. MySQL空間データとは何か2. GeoJSONとは3. 空間データ型のフォ...

Navicat for MySQLのスケジュールされたデータベースバックアップとデータ復旧の詳細

データベースの変更または削除操作によってデータ エラーが発生したり、データベースがクラッシュしたりす...

Centos7 に DAMO データベースをインストールするチュートリアル

1. 準備Linux オペレーティング システムをインストールした後、ここで Linux 7 を選択...

Navicat PremiumはMySQLデータベースを操作します(SQL文を実行します)

1. Navicatの紹介1. Navicat とは何ですか? Navicat は強力な MySQ...

Linuxシステムはポート3306、8080などを外部に開放します。ファイアウォール設定の詳しい説明

多くの場合、Linux システムに Web サービス アプリケーション (Tomcat、Apache...

高速でクールな揺れアニメーション効果を実現するCSS

1. Animate.css の紹介Animate.css は、Web プロジェクトですぐに使用で...