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 のロードバランシングとリバースプロキシの説明

推薦する

MySQL シリーズ 13 MySQL レプリケーション

目次1. MySQLレプリケーション関連の概念2. シンプルな1マスター1スレーブアーキテクチャの実...

Docker イメージを削除できません エラー: そのようなイメージはありません: xxxxxx 解決策

序文docker イメージを削除できません。docker docker imagesを確認すると、イ...

モバイル端末での Vue2.x Picker のグローバル呼び出し実装

目次ピッカーコンポーネントとはピッカーコンポーネントの問題解決オプションの説明解決ディレクトリ部門P...

MySQLはライブラリ内の主キーなしでテーブルインスタンスコードを素早く取得します

概要MySQL データベースで主キーのないテーブルを表示するための SQL ステートメントをいくつか...

HTML タグ マーキーはさまざまなスクロール効果を実現します (JS 制御なし)

ページの自動スクロール効果は JavaScript で実現できますが、今日偶然、JS 制御なしでさま...

JavaScript でオブジェクトをトラバースする 5 つの方法 サンプルコード

目次準備する5つの武器…のためにオブジェクト.キーオブジェクト.getOwnPropertyName...

Tomcat で複数の war パッケージを展開する方法と手順

1 背景JDK1.8-u181とTomcat8.5.53がインストールされました。インストール後、環...

Dockerは単一のイメージを使用して複数のポートにマッピングします

必要:公式サイトのリソースサーバーは確かに1つのインスタンスでは使えず、複数のインスタンスを一緒に使...

MySQL テーブルにはどのくらいの量のデータを保存できますか?

プログラマーは MySQL を扱う機会が多く、毎日触れているとも言えますが、MySQL テーブルには...

NodeJSとブラウザにおけるこのキーワードの違い

序文JavaScript を学習した人なら誰でも、さまざまな環境で this がどこを指すかという問...

CSS3 アニメーション – ステップ機能の説明

最近、CSS3 アニメーションのソース コードの実装をいくつか見ていたところ、CSS コード アニメ...

ウェブページ作成のヒントのまとめ

序文この記事は主に、日常の Web ページ制作で遭遇する問題解決スキルの一部をまとめ、皆さんの参考と...

CSSにスティッキー効果を追加する方法

前面に書かれたfilter:blur と filter:contrast がこのような素晴らしい化学...

CSSテキストシャドウの徐々にぼやける効果の実装

テキストシャドウテキストに影を追加します。テキストとテキスト装飾に複数のシャドウを追加することができ...

外部ファイル(js/vbs/css)をインポートするときに文字化けを回避する方法

ページ内にはjs、cssなどの外部ファイルが導入されており、外部ファイルのエンコードが現在のページフ...