Vueミックスインとは何ですか

coldplay.xixi
リリース: 2020-12-01 15:53:39
オリジナル
2580 人が閲覧しました

Vue ミックスインは、Vue コンポーネントで再利用可能な関数を配布するための非常に柔軟な方法です。ミックス オブジェクトには、任意のコンポーネント オプションを含めることができます。コンポーネントがミックス オブジェクトを使用する場合、ミックス オブジェクトのすべてのオプションは、コンポーネントのオプション自体。

Vueミックスインとは何ですか

このチュートリアルの動作環境: Windows 7 システム、Vue バージョン 2.9.6。この方法は、すべてのブランドのコンピューターに適しています。

mixins

ミックスインは、Vue コンポーネントで再利用可能な機能を配布するための非常に柔軟な方法です。

混合オブジェクトには、任意のコンポーネント オプションを含めることができます。

コンポーネントがミックスイン オブジェクトを使用すると、ミックスイン オブジェクトのすべてのオプションがコンポーネント自体のオプションに混合されます。

ミックスインの理解

コンポーネントが参照された後、親コンポーネント内に別のスペースを開き、値に基づいて対応する操作を実行するのと同じです。本質的に、この 2 つは依然として別個であり、比較的独立しています。

コンポーネントが導入された後、ミックスインは、データやその他のメソッド、メソッド、その他の属性などのコンポーネントの内部コンテンツを、親コンポーネントの対応するコンテンツとマージします。導入後、親コンポーネントの各種プロパティメソッドが拡張されたことに相当します。

単純なコンポーネント リファレンス:

親コンポーネントのサブコンポーネント>>>親コンポーネントのサブコンポーネント

mixins:

親コンポーネントのサブコンポーネント> ; >> 新しい親コンポーネント

# は、複数のコンポーネントまたは複数の Vue オブジェクト インスタンスにバインドして使用できる vue のパブリック メソッドの登録に似ています。もう 1 つの点は、プロトタイプ オブジェクトにメソッドを登録するのと似ています。インスタンス オブジェクト、つまりコンポーネントまたは Vue インスタンス オブジェクトでは、同じ関数名を持つメソッドを定義してオーバーライドすることができます。サブクラスと親クラス。

ミックスインの使用

メソッドの再利用

html

<div id="app">
    <child></child>
    <kid></kid>
</div>
ログイン後にコピー

js

Vue.component(&#39;child&#39;,{
    template:`<h1 @click="foo">child component</h1>`,
    methods:{
        foo(){
            console.log(&#39;Child foo()&#39;+this.msg++)
        }
    }
})
 
Vue.component(&#39;kid&#39;,{
    template:`<h1 @click="foo">kid component</h1>`,
    methods:{
        foo(){
            console.log(&#39;Kid foo()&#39;+this.msg++)
        }
    }
})
ログイン後にコピー

の助けを借りてmixins 以前は、2 つの異なるコンポーネントで foo メソッドを呼び出すには繰り返し定義が必要でした。メソッドが複雑な場合、コードはさらに冗長になります。ミックスインを使用すると、非常に簡単になります:

let mixin={
    data(){
        return{
            msg:1
        }
    },
    methods:{
        foo(){
            console.log(&#39;hello from mixin!----&#39;+this.msg++)
        }
    }
}
var child=Vue.component(&#39;child&#39;,{ 
        template:`<h1 @click="foo">child component</h1>`, 
        mixins:[mixin]
})
Vue.component(&#39;kid&#39;,{ 
        template:`<h1 @click="foo">kid component</h1>`, 
        mixins:[mixin]
})
ログイン後にコピー

ここでは、2 つのコンポーネントは this.msg を通じてミックスインで定義された msg を参照できますが、エディターがそれを試してみたところ、参照された 2 つのコンポーネントは次のとおりです。同じではありません。同じメッセージではありませんが、それぞれが新しいメッセージを作成しました。同じデータがコンポーネント内で定義されている場合、ミックスイン内のメッセージではなく、コンポーネント内のメッセージがここで参照されます。

以上がVueミックスインとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!