mixins基礎概況
vue中的解釋是這樣的黔漂,如果覺得語言枯燥的可以自行跳過嘿~
混入 (mixins): 是一種分發(fā) Vue 組件中可復用功能的非常靈活的方式。混入對象可以包含任意組件選項。當組件使用混入對象時直晨,所有混入對象的選項將被混入該組件本身的選項霉撵。
怎么用枕面?
舉個栗子:
- 定義一個混入對象
- 把混入對象混入到當前的組件中
用法似不似相當簡單呀
mixins的特點
1 方法和參數(shù)在各組件中不共享
混合對象中的參數(shù)num
組件1中的參數(shù)num進行+1的操作
組件2中的參數(shù)num未進行操作
看兩組件中分別輸出的num值
大家可以看到稻轨,我在組件1里改變了num里面的值励翼,組件2中的num值還是混入對象里的初始值
2 值為對象的選項蜈敢,如methods,components等,選項會被合并汽抚,鍵沖突的組件會覆蓋混入對象的
混入對象中的方法
組件中的方法
打印臺的輸出
3 值為函數(shù)的選項抓狭,如created,mounted等,就會被合并調(diào)用造烁,混合對象里的鉤子函數(shù)在組件里的鉤子函數(shù)之前調(diào)用
混入對象函數(shù)中的console
組件函數(shù)中的console
打印臺的打印
與vuex的區(qū)別
經(jīng)過上面的例子之后否过,他們之間的區(qū)別應該很明顯了哈~
vuex:用來做狀態(tài)管理的,里面定義的變量在每個組件中均可以使用和修改惭蟋,在任一組件中修改此變量的值之后苗桂,其他組件中此變量的值也會隨之修改。
Mixins:可以定義共用的變量告组,在每個組件中使用煤伟,引入組件中之后,各個變量是相互獨立的,值的修改在組件中不會相互影響便锨。
與公共組件的區(qū)別
同樣明顯的區(qū)別來再列一遍哈~
組件:在父組件中引入組件围辙,相當于在父組件中給出一片獨立的空間供子組件使用,然后根據(jù)props來傳值放案,但本質(zhì)上兩者是相對獨立的姚建。
Mixins:則是在引入組件之后與組件中的對象和方法進行合并,相當于擴展了父組件的對象與方法吱殉,可以理解為形成了一個新的組件掸冤。