Vue ミックスインの使用方法とオプションのマージの詳細な説明

Vue ミックスインの使用方法とオプションのマージの詳細な説明

1. コンポーネントでの使用

Mixin は、再利用可能な機能を Vue コンポーネント間で分散する非常に柔軟な方法を提供します。ミックスイン オブジェクトには任意のコンポーネント オプションを含めることができます。コンポーネントがミックスインを使用する場合、ミックスインのすべてのオプションがコンポーネント自体のオプションに「混合」されます。

<テンプレート>
  <div class="event_style">
    <h2>基本</h2>
    <div class="inner_children">
      <span>{{ メッセージ }}</span>
    </div>
  </div>
</テンプレート>
<スクリプト>
var myMixin = {
  データ() {
    戻る {
      メッセージ: ""、
    };
  },
  作成: 関数 () {
    console.log("作成:ミックスインを追加");
    this.message = "作成済み: ミックスインを追加";
    hello() を返します。
  },
  メソッド: {
    こんにちは: 関数() {
      console.log("mixin からこんにちは!");
    },
  },
};
// ミックスインオブジェクトを使用するコンポーネントを定義する export default {
  名前: "mixin-basic",
  ミックスイン: [myMixin],
};
</スクリプト>

2. オプションのマージ

コンポーネントとミックスインに同じ名前のオプションがある場合、それらのオプションは適切な方法で「マージ」されます。

たとえば、データ オブジェクトは内部的に再帰的にマージされ、競合が発生した場合はコンポーネント データが優先されます。

<テンプレート>
  <div class="event_style">
    <h2>オプションのマージ</h2>
    <div class="inner_children">
      <span>{{ メッセージ }}</span>
      <span>{{ メッセージ1 }}</span>
    </div>
  </div>
</テンプレート>
<スクリプト>
var myMixin = {
  データ() {
    戻る {
      メッセージ: "mixin:mixin",
      メッセージ1: "mixin:mixin-1",
    };
  },
  作成: 関数 () {
    hello() を返します。
  },
  メソッド: {
    こんにちは: 関数() {
      console.log("mixin:mixin からこんにちは!");
    },
  },
};
// ミックスインオブジェクトを使用するコンポーネントを定義する export default {
  名前: "mixin-merge",
  ミックスイン: [myMixin],
  データ() {
    戻る {
      メッセージ: "コンポーネント: hello",
    };
  },
  作成: 関数 () {
    hello() を返します。
  },
  メソッド: {
    こんにちは: 関数() {
      console.log("コンポーネント: hello world!");
    },
  },
};
</スクリプト>
<スタイルスコープ>
.イベントスタイル{
  左パディング: 50px;
  右パディング: 50px;
}
.inner_children{
  ディスプレイ: フレックス;
  flex-direction: 列;
  高さ: 150px;
  境界線: 1px 実線 #333;
  パディング: 6px;
}
.inner_children スパン {
  フォントサイズ: 20px;
}
</スタイル>

ページレンダリング効果

上図からわかるように、ミックスインされたデータやメソッドがコンポーネント定義と矛盾する場合は、コンポーネントが優先されます。コンポーネントに定義されていない場合は、ミックスインされた定義の効果を示すためにマージされます。

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue3 Composition API が Vue Mixins に取って代わる仕組みについて簡単に説明します。
  • Vue ミックスインの詳しい説明
  • Vueでミックスインを使用する方法
  • Web プロジェクト開発 VUE の混合と継承の原則
  • Vue のミックスインの使用方法の詳細な説明
  • Vue3 ミックスインの使い方

<<:  HTML 言語百科事典

>>:  Dockerはコンテナにポートを動的に公開します

推薦する

MySQL 5.7.21 winx64 グリーンバージョンのインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 5.7.21のインストールと設定方法を記録しています。具体的な内容は以下のと...

Vue 開発ガイドの重要な知識の要約

目次概要0. JavaScriptとWeb開発の基礎1. Vueの基本概念Vue コア機能コンポーネ...

Dockerイメージのエクスポートとインポート操作

基本イメージが以前に構成されていて、これらのイメージが他の場所でも必要な場合はどうなりますか?回答:...

Mysql テーブル、列、データベースの追加、削除、変更、クエリの問題の概要

以下は私がまとめた基本的なSQL知識です。主に参考資料として、また将来の他の初心者の助けとして、私自...

Zabbix はどのようにして ssh 経由でネットワーク デバイス データを監視および取得するのでしょうか?

シナリオシミュレーション:ある会社の運用保守担当者は、以前購入した一連のネットワーク機器の光ポートの...

ウェブページの読み込み速度を上げる6つのヒント

第二に、キーワードのランキングは、Webページの表示速度にも関係しています(参照:キーワードランキン...

MySQL 接続数を設定する方法 (接続数が多すぎる)

mysql使用中に接続数が超過していることが判明しました~~~~ [root@linux-node...

MySQL接続クエリの原理と応用

概要MySQL の最も強力な機能の 1 つは、データ取得を実行しながらテーブルを結合できることです。...

MySQLのunion allとunionの違いを簡単に理解する

Union は、重複行を除外し、デフォルトのソートを実行する、データに対する結合操作です。Union...

ova ファイルを VMware にインポートする際の落とし穴の概要

問題の原因ご存知のとおり、すべてのネットワーク動作は対応するネットワークトラフィックを生成し、すべて...

Docker イメージのインポートとエクスポートのコード例

Dockerイメージのインポートとエクスポートこの記事では、移行、バックアップ、アップグレードなどの...

コードの互換性を高めるために、HTMLを次のように記述します。

たとえば、スクリーン リーダー ソフトウェアを必要とするユーザーなどです。フロントエンド開発者として...

vue-cli を使用してプロジェクトを作成し、webpack でパッケージ化する方法

1. 環境を準備する(Node.jsをダウンロードし、環境変数を設定する) 2. vue-cliをグ...

MySQL データベースのインデックスとトランザクション

目次1. 索引1.1 コンセプト1.2 機能1.3 索引作成の原則1.3.1 ディスクアクセス回数を...

Docker基盤技術の適用に関する詳細な説明 名前空間Cgroup

Docker の基盤技術: Docker の基盤となる 2 つのコア テクノロジーは、名前空間とコ...