VUE2混入的簡單使用介紹

被混入的組件

<template>

??<div?class="vuemix">

????<!--?組件中沒有name,但是混入的對象中有,即可使用?-->

????<p>{{name}}</p>

????<!--?組件中有age屬性,混入對象中也有age屬性,當(dāng)混入對象和組件中有共同的屬性時,讀取組件中的值?-->

????<p>{{age}}</p>

??</div>

</template>

<script>

//=====================================================================================================

//===:vue的混入

//===:混入規(guī)則:1.混入的data中??鍵名相同,則讀取組件中的鍵名,反之讀取混入的鍵名

//===:混入規(guī)則:2.同名鉤子函數(shù)混合為一個數(shù)組,因此都將會被調(diào)用,混入對象的鉤子將在自身的鉤子之前調(diào)用

//===:混入規(guī)則:3.值為對象的混入,如metholds,components等,選項會被合并,組件對象覆蓋混入的對象

import?vuemix?from?"./vuemix"

export?default?{

??//===:在這里混入vue混入對象

??mixins:[vuemix],

??data(){

????return{

??????age:30

????}

??},

??created(){

????console.log('我是組件的created');

??},

??methods:{

????fn(){

??????console.log("我是組件里面的方法")

????},

????fnConsoleLog1(){

??????console.log(1)

????}

??},

??mounted(){

????this.fn()

????//===:被混入的組件中沒有fnConsoleLog2方法,但是混入對象中有這個方法,所可以調(diào)用到fnConsoleLog1方法

????//========================================================================================輸出:1????

????this.fnConsoleLog2()

??}

}

</script>

<style>

</style>

混入對象

//================================================================================

//===:定義一個混入的對象

var?vueMix?=?{

??data(){

????return{

??????name:'趙光硯',

??????age:16

????}

??},

??created(){

????console.log('我是混入對象的created');

????//===:由于混入對象的created和組件的created都進(jìn)行了輸出,當(dāng)程序運行時,會輸出

????//===:1.我是混入對象的created

????//===:2.我是組件的created

????//===總結(jié):同名鉤子函數(shù)混合為一個數(shù)組,因此都將會被調(diào)用,混入對象的鉤子將在組件的鉤子之前調(diào)用

??},

??mounted()?{

????//===:這里調(diào)用了fn方法,但是fn輸出的是

????//================================:我是組件里面的方法

????//===:總結(jié):值為對象的混入,如metholds,components等,選項會被合并,組件對象覆蓋混入的對象

????this.fn()

????//===:混入對象中沒有fnConsoleLog1方法,但是被混入的組件中有這個方法,所可以調(diào)用到fnConsoleLog1方法

????//========================================================================================輸出:1

????this.fnConsoleLog1()

??},

??methods:?{?

????fn(){

??????console.log("我是混入對象的方法")

????},

????fnConsoleLog2(){

??????console.log(2)

????}

??},

}

export?default?vueMix

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 33、JS中的本地存儲 把一些信息存儲在當(dāng)前瀏覽器指定域下的某一個地方(存儲到物理硬盤中)1、不能跨瀏覽器傳輸:在...
    萌妹撒閱讀 2,240評論 0 2
  • ## 經(jīng)典bug:1.模板引擎的渲染## 難點:### 0.vue總結(jié)#### 指令:```jsVue.direc...
    x_ng閱讀 330評論 0 0
  • 單例模式 適用場景:可能會在場景中使用到對象,但只有一個實例,加載時并不主動創(chuàng)建,需要時才創(chuàng)建 最常見的單例模式,...
    Obeing閱讀 2,311評論 1 10
  • Vue 實例 屬性和方法 每個 Vue 實例都會代理其 data 對象里所有的屬性:var data = { a:...
    云之外閱讀 2,365評論 0 6
  • 上周去上海見到了在德國陪讀時候認(rèn)識的朋友,在黃浦江邊的小資店里吃飯聊天,我們聊到了生活、工作和工資。我訝異地發(fā)現(xiàn),...
    timshan閱讀 336評論 0 1

友情鏈接更多精彩內(nèi)容