mixins
混合 (mixins) 是一種分發 Vue 組件中可復用功能的非常靈活的方式。
混合對象可以包含任意組件選項。
當組件使用混合對象時,所有混合對象的選項將被混入該組件本身的選項。
mixins就是混入。
一個混入對象可以包含任意組件選項。
同一個生命周期,混入對象會比組件的先執行。
與vuex的區別
經過上面的例子之后,他們之間的區別應該很明顯了哈~
vuex:用來做狀態管理的,里面定義的變量在每個組件中均可以使用和修改,在任一組件中修改此變量的值之后,其他組件中此變量的值也會隨之修改。
Mixins:可以定義共用的變量,在每個組件中使用,引入組件中之后,各個變量是相互獨立的,值的修改在組件中不會相互影響。方法和參數在各組件中不共享
與公共組件的區別
同樣明顯的區別來再列一遍哈~
組件:在父組件中引入組件,相當於在父組件中給出一片獨立的空間供子組件使用,然后根據props來傳值,但本質上兩者是相對獨立的。
Mixins:則是在引入組件之后與組件中的對象和方法進行合並,相當於擴展了父組件的對象與方法,可以理解為形成了一個新的組件。
值為函數的選項,如created,mounted等,就會被合並調用,Mixins混合對象里的鈎子函數在組件里的鈎子函數之前調用
值為對象的選項,如methods,components等,選項會被合並,鍵沖突的組件會覆蓋混入對象的

轉: https://www.jianshu.com/p/bcff647d24ec