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

推薦する

H5 WeChatパブリックアカウント認証を実装するための簡単な手順

序文昨日、h5 WeChat認証の実装が必要なプロジェクトがありました。したがって、この機能を完了す...

Vue3とTypeScriptを組み合わせたプロジェクト開発の実践記録

目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...

JSはリクエストディスパッチャーを実装する

目次抽象化と再利用シリアルセグメントシリアル、セグメントパラレル要約するはじめに: JS は当然並列...

BFCとは何ですか? CSS 疑似要素を使用してフロートをクリアする方法

BFCコンセプト:ブロック フォーマット コンテキストは、BFC 内の要素を外部の要素から分離する独...

Vue Element フロントエンドアプリケーション開発のための従来の JS 処理機能

目次1. 従来のコレクションに対するフィルター、マップ、および削減処理方法2. 再帰処理3. for...

モバイルアダプティブスタイルで@mediaを使用する方法

一般的な携帯電話のスタイル: @media all および (orientation : 縦向き) ...

JavaScript - Vue でのスロットの使用: スロット

目次Vue でのスロットの使用: slotスコープ付きスロット: テンプレートタグで囲む要約するVu...

Java で ffmpeg を呼び出してビデオ形式を flv に変換する方法の詳細な説明

Java で ffmpeg を呼び出してビデオ形式を flv に変換する方法の詳細な説明注:以下のプ...

HTML ウェブページにおけるさまざまなフォント形式の詳細

このセクションでは、テキストの変更の詳細から始めます。これにより、読者はさまざまな HTML フォン...

ネストされた HTML ページの使用例 (フレームセットの使用)

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

フォーム OnSubmit と input type=image の使用の概要

ここに <input type="image"> がある場合、この画...

Tomcatの動作原理を分析する

SpringBoot は巨大な Python のようで、ゆっくりと私たちの周りを巻きつき、麻痺させま...

html-webpack-plugin の使用方法の詳細な説明

最近、React プロジェクトで初めてhtml-webapck-pluginプラグインを使用しました...

高品質なJavaScriptコードの書き方

目次1. 読みやすいコード1. 統一コード形式2. マジックナンバーを削除する3. 単一機能原則2....

MySQLのさまざまなロックの概念的理解

楽観的ロック楽観的ロックは、主にデータ バージョン記録メカニズムに基づいて実装され、通常はデータベー...