Vue ミックスインの使い方の詳しい説明

Vue ミックスインの使い方の詳しい説明

Vue ミックスインの使用

  • 機能: コンポーネントが導入された後、データやその他のメソッド、メソッドやその他の属性など、コンポーネント内のコンテンツは、親コンポーネントの対応するコンテンツとマージされます。これは、導入後に親コンポーネントのさまざまなプロパティ メソッドを拡張することと同じです。
  • データ データの平等アクセス原則: ミックスインを使用している現在のコンポーネントにデータまたはメソッドがある場合は、現在のコンポーネントのデータまたはメソッドが直接使用され、それ以外の場合はミックスイン内のデータとメソッドが直接継承されます。
  • : 共有変数を定義して、各コンポーネントで使用することができます。コンポーネントに導入された後、各変数は互いに独立しており、値の変更はコンポーネント内で互いに影響しません。
  • 注2 :Mixinは、コンポーネントが導入された後にコンポーネント内のオブジェクトやメソッドとマージされ、親コンポーネントのデータやメソッドなどを拡張することと同等であり、新しいコンポーネントを形成すると理解できます。

ミックスインでのデータアクセス

ミックスイン/index.js

エクスポートデフォルト{
  データ () {
    戻る {
      メッセージ: 「私は mixin のメッセージです」
    }
  },
  作成された(){
  },
  マウントされた(){}、
  メソッド: {
  }
}

ホーム.vue

  • ホームコンポーネントでのミックスインの使用
<テンプレート>
  <div>
    <div>home -- {{ msg }}</div> /* home によって変更されたメッセージ */
  </div>
</テンプレート>
<スクリプト>
「@/mixin/index.js」からミックスインをインポートします。
エクスポートデフォルト{
  名前: "ホーム",
  ミックスイン: [ミックスイン],
  データ() {
    戻る { };
  },
  作成された() {
    // mixin のデータを取得します console.log("home print", this.msg); //home は mixin の msg を出力します
    // ミックスインのデータを変更します。this.msg = "home によって変更されたメッセージ";
    console.log("home print", this.msg); // home は home によって変更されたメッセージを出力します
  },
  メソッド: {
  },
};
</スクリプト>
<style lang="scss" スコープ>
</スタイル>

2.vueについて

<テンプレート>
  <div>
    <div>about2 -- {{ msg }}</div> /* about2 によって変更されたメッセージ */
  </div>
</テンプレート>
<スクリプト>
「@/mixin/index.js」からミックスインをインポートします。
エクスポートデフォルト{
  名前: "About2",
  ミックスイン: [ミックスイン],
  コンポーネント: {},
  データ() {
    戻る {
      メッセージ: "ローカルメッセージ",
    };
  },
  作成された() {
    console.log("print about2", this.msg); // ローカルメッセージ
    this.msg = "about2 によって変更されたメッセージ";
    console.log("print about2", this.msg); // about2 によって変更されたメッセージ
    // 最後のページにはabout2の変更されたメッセージデータが表示されます},
  メソッド: {
  },
};
</スクリプト>
<style lang="scss" スコープ>
</スタイル>

ミックスインにおけるメソッドと計算された使用法

ミックスイン/index.js

エクスポートデフォルト{
  データ () {
    戻る {
      メッセージ: 「私は mixin のメッセージです」
    }
  },
  作成された() { },
  マウントされた(){}、
  計算: {
    ユーザー名() {
      「私は計算属性 UserName です」を返します。
    },
  },
  メソッド: {
    ヒントメッセージ() {
      console.log("minxin の tipMsg メソッド", this.msg);
    },
    ヒント情報 (情報) {
      console.log("minxin の tipInfo メソッド", info);
    }
  }
}

ホーム.vue

<テンプレート>
  <div>
    <div>ホーム --- msg-{{ msg }} UserName-{{ UserName }}</div>
    /* ホーム --- msg UserName-I は計算属性の UserName です */
  </div>
</テンプレート>
<スクリプト>
「@/mixin/index.js」からミックスインをインポートします。
エクスポートデフォルト{
  名前: "ホーム",
  ミックスイン: [ミックスイン],
  コンポーネント: {},
  データ() {
    戻る {};
  },
  作成された() {
    // mixin のデータを取得します console.log("home print", this.msg); //home は mixin の msg を出力します
    // ミックスインのデータを変更します。this.msg = "home によって変更されたメッセージ";
    console.log("home print", this.msg); // home は home によって変更されたメッセージを出力します
    // mixin の tipMsg メソッドを呼び出す this.tipMsg(); // minxin の tipMsg メソッドによって変更されたメッセージ
    this.tipInfo("私はホーム ルーキー情報です"); // minxin の tipInfo メソッド 私はホーム ルーキー情報です
  },
  メソッド: {},
};
</スクリプト>
<style lang="scss" スコープ>
</スタイル>

2.vueについて

<テンプレート>
  <div>
    <div>about2 -- {{ msg }} ユーザー名-{{ ユーザー名 }}</div>
    /* about2 -- about2 の変更されたメッセージ UserName-I は計算された属性 UserName です */
  </div>
</テンプレート>
<スクリプト>
「@/mixin/index.js」からミックスインをインポートします。
エクスポートデフォルト{
  名前: "About2",
  ミックスイン: [ミックスイン],
  コンポーネント: {},
  データ() {
    戻る {
      メッセージ: "ローカルメッセージ",
    };
  },
  作成された() {
    console.log("print about2", this.msg); // ローカルメッセージ
    this.msg = "about2 によって変更されたメッセージ";
    console.log("print about2", this.msg); // about2 によって変更されたメッセージ
    // 最後のページには about2 の変更されたメッセージが表示されています this data this.tipMsg(); // 最後の print-> I は about2 のローカル tipMsg メソッドです this.tipInfo(); // minxin の tipInfo メソッドは未定義です
  },
  メソッド: {
    ヒントメッセージ() {
      console.log("私はabout2のローカルtipMsgメソッドです");
    },
  },
};
</スクリプト>

要約する

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

以下もご興味があるかもしれません:
  • Vue の親コンポーネントと子コンポーネント間の通信の例 (props、$ref、$emit)
  • Vueでミックスインを使用する方法
  • Vue3 ミックスインの使い方
  • Vue での Mixin と extends の使用に関する詳細なチュートリアル
  • vue3 の defineProps で ref responsiveness を使用すると失敗する理由の詳細な説明
  • Vue コンポーネント共通メソッド抽出ミックスイン実装
  • Vue 親子コンポーネントのミックスイン共有に関する注意事項
  • Vue のコンポーネント化の詳細な説明 (ref、props、mixin、プラグイン)
  • Vue の ref、props、mixin 属性

<<:  HTML で #include ファイルを使用する例

>>:  nginx のロードバランシングとリバースプロキシの説明

推薦する

VMware15 の Deepin インストール詳細チュートリアル (画像とテキスト)

序文Deepin のユーザー インターフェイスは、使用時に非常に見栄えがします。インターフェイス効果...

Linuxフラッシュのインストール方法

Linuxにフラッシュをインストールする方法1. Flashの公式サイトにアクセスし、ダウンロードを...

Dockerのインストール方法とDockerの4つのネットワークモードの詳細説明

1. Dockerをインストールするyum -y install docker-ioインストールが完...

MacにMySQLをインストールするときに初期パスワードを忘れた場合の対処方法

パスワードを忘れると困ります。Mac に MySQL をインストールするための初期パスワードを忘れて...

よく使われるCSSカプセル化方法の概要

1. pc-reset PCスタイルの初期化 /* 正規化.css */ html{ 行の高さ: 1...

linxu での Svn ワンクリック インストール シェル スクリプトの詳細な説明

#!/bin/bash #SVNをダウンロード yum -y サブバージョンをインストールします ...

MySQLにおけるトランザクションの永続性実装原理の詳細な説明

序文データベース トランザクションに関して言えば、トランザクションの ACID 特性、分離レベル、解...

MySQL 8.0.12 のインストールと環境変数の設定チュートリアル (Win10 の場合)

Windows 10 プラットフォームでの MySQL のインストール、構成、起動、ログイン、環境...

HTML テーブルの使い方 (Web ページの視覚効果を表示する)

NetEase Blog で HTML を使用する場合、テンプレートに直接コードを追加できることは...

MySQLのトランザクション特性とレベル原則の分析

1. トランザクションとは何ですか?データベース トランザクション (略称: トランザクション) は...

MySql 8.0.11-Winxp64 (無料インストール版) ​​設定チュートリアル

1. インストールディレクトリにzipパッケージを解凍します。まず、mysql-8.0.11-win...

CSSテーマを簡単に切り替える方法の詳細な説明

最近、個人の Web サイトに非常にシンプルなカラー スキーム (テーマ) スイッチャーを追加しまし...

ChromeとIEに対応したWMPに埋め込まれたHTMLの詳細な紹介

実際には、対応する記述方法は多数ありますが、最も一般的なのは object + embedded で...

画像内のrarファイルを隠す方法

このロゴを .rar ファイルとしてローカルに保存し、解凍して効果を確認することができます。よりシン...

nginx で仮想ホストを構成するための詳細な手順

仮想ホストは、インターネット上で実行されているサーバー ホストを複数の「仮想」ホストに分割する特殊な...