天天看點

vue中mixins注意點

vue中mixins注意點

一、總結

一句話總結:

方法和參數在【各元件中不共享】,但是同一個元件中多個mixins方法是共享的,相當于【實體添加】

1、mixins與vuex的差別?

A、vuex:【共用資料】:用來做狀态管理的,裡面定義的變量在每個元件中均可以使用和修改,在任一元件中修改此變量的值之後,其他元件中此變量的值也會随之修改。
B、Mixins:【元件中變量獨立】:可以定義共用的變量,在每個元件中使用,引入元件中之後,各個變量是互相獨立的,值的修改在元件中不會互相影響。

2、mixins與公共元件的差別?

a、元件:【本質獨立】:在父元件中引入元件,相當于在父元件中給出一片獨立的空間供子元件使用,然後根據props來傳值,但本質上兩者是相對獨立的。
b、Mixins:【實體合并】:則是在引入元件之後與元件中的對象和方法進行合并,相當于擴充了父元件的對象與方法,可以了解為形成了一個新的元件。

二、vue中mixins的使用方法和注意點(詳)

轉自或參考:vue中mixins的使用方法和注意點(詳)

mixins基礎概況

vue中的解釋是這樣的,如果覺得語言枯燥的可以自行跳過嘿~

混入 (mixins): 是一種分發 Vue 元件中可複用功能的非常靈活的方式。混入對象可以包含任意元件選項。當元件使用混入對象時,所有混入對象的選項将被混入該元件本身的選項。

怎麼用?

舉個栗子:

  • 定義一個混入對象
vue中mixins注意點
  • 把混入對象混入到目前的元件中
vue中mixins注意點

用法似不似相當簡單呀

mixins的特點

1 方法和參數在各元件中不共享

混合對象中的參數num

vue中mixins注意點

元件1中的參數num進行+1的操作

vue中mixins注意點

元件2中的參數num未進行操作

vue中mixins注意點

看兩元件中分别輸出的num值

vue中mixins注意點
vue中mixins注意點

大家可以看到,我在元件1裡改變了num裡面的值,元件2中的num值還是混入對象裡的初始值

2 值為對象的選項,如methods,components等,選項會被合并,鍵沖突的元件會覆寫混入對象的

混入對象中的方法

vue中mixins注意點

元件中的方法

vue中mixins注意點

列印台的輸出

vue中mixins注意點

3 值為函數的選項,如created,mounted等,就會被合并調用,混合對象裡的鈎子函數在元件裡的鈎子函數之前調用

混入對象函數中的console

vue中mixins注意點

元件函數中的console

vue中mixins注意點

列印台的列印

vue中mixins注意點

與vuex的差別

經過上面的例子之後,他們之間的差別應該很明顯了哈~

  • vuex:用來做狀态管理的,裡面定義的變量在每個元件中均可以使用和修改,在任一元件中修改此變量的值之後,其他元件中此變量的值也會随之修改。
  • Mixins:可以定義共用的變量,在每個元件中使用,引入元件中之後,各個變量是互相獨立的,值的修改在元件中不會互相影響。

與公共元件的差別

同樣明顯的差別來再列一遍哈~

  • 元件:在父元件中引入元件,相當于在父元件中給出一片獨立的空間供子元件使用,然後根據props來傳值,但本質上兩者是相對獨立的。
  • Mixins:則是在引入元件之後與元件中的對象和方法進行合并,相當于擴充了父元件的對象與方法,可以了解為形成了一個新的元件。

vue中mixins注意點
vue中mixins注意點

vue中mixins注意點
vue中mixins注意點
vue中mixins注意點
vue中mixins注意點
vue中mixins注意點
vue中mixins注意點
vue中mixins注意點
vue中mixins注意點
vue中mixins注意點
vue中mixins注意點

繼續閱讀