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はコンテナにポートを動的に公開します

推薦する

LinuxデバッガGDBの基本的な使い方の詳細な説明

目次1. 概要2. gdbデバッグ2.1. ブレークポイントを設定する2.1.1. ブレークポイント...

ブラウザでビデオプレーヤーを実装するための基本的な考え方とコード

目次序文ブラウザにおけるオーディオとビデオに関する知識のまとめビデオエンコーディング包装形態オーディ...

Linux ブートシステム方式の分析

この記事では、Linux システムを起動する方法について説明します。ご参考までに、詳細は以下の通りで...

Linux における nohup と & の使い方と違いの詳細な説明

例:例として、Python コード loop_hello.py を使用します。このコードは、ループ回...

MySQLソースコマンドの使い方の紹介

目次ネット上の質問から生まれた思考MySQL ソースコマンドネット上の質問から生まれた思考今日仕事中...

img 画像タグに alt 属性を付与する必要がありますか?

img 画像タグに alt 属性を追加しますか?画像 img タグの alt 属性を見落とすことはよ...

MySQL マスタースレーブレプリケーションスレッドの状態遷移に関する詳細な理解

序文MySQL マスター スレーブ レプリケーションの基本原理は、スレーブ データベースがマスター ...

Linux の権限管理コマンド (chmod/chown/chgrp/unmask) の詳細な説明

目次chmod例権限に関する特別な注意分析するチョーンchgrp umask Linux オペレーテ...

Nginx 構成 80 ポート アクセス 8080 とプロジェクト名アドレス メソッド分析

Tomcatはプロジェクトにアクセスします。通常はIP + ポート + プロジェクト名です。 Ngi...

Webstorm と Chrome を使用して Vue プロジェクトをデバッグする方法

目次序文1. 新しいVueプロジェクトを作成する2. WebStormの設定1. デバッガポートを設...

Unicode の一般的な文字の概要

初期のコンピューターのほとんどは ASCII 文字しか使用できませんでしたが、その後、主要な西洋のア...

ウェブサイトでページコンテンツや情報を直接コピーできない問題を解決する方法

最近では、多くのウェブサイトでは、ページ上の特定のコンテンツや情報を直接コピーすることは許可されてお...

Vueモバイル端末は画面上で指をスライドさせる方向を判定する

vueモバイル端末は、画面上で指をスライドさせる方向を判断します。具体的な内容は次のとおりです。これ...

JavaScriptの基本的なインタラクションの詳細な説明

目次1. 要素の入手方法文書から入手ID取得クラス名 (className) を取得します。タグ名 ...