vue中混入mixins的使用方法
前言
Vue中有一個(gè)設(shè)置項(xiàng)叫做混入 (mixins), 它的使用是用來(lái)做代碼復(fù)用的。同時(shí), 這個(gè)mixins 也分為局部混入和全局混入
vue中的解釋是這樣的,如果覺得語(yǔ)言枯燥的可以自行跳過(guò)嘿~
混入 (mixins): 是一種分發(fā) Vue 組件中可復(fù)用功能的非常靈活的方式?;烊雽?duì)象可以包含任意組件選項(xiàng)。當(dāng)組件使用混入對(duì)象時(shí),所有混入對(duì)象的選項(xiàng)將被混入該組件本身的選項(xiàng)。應(yīng)用場(chǎng)景
下面先說(shuō)一下 mixins 的應(yīng)用場(chǎng)景, 假設(shè)現(xiàn)在我們兩個(gè)組件, 當(dāng)這兩個(gè)組件被點(diǎn)擊時(shí), 都要 console.log 一下, data 中的一個(gè)name 屬性的值
第一個(gè)組件是 school組件,如下圖

第二個(gè)組件是 student組件

我們可以看到, 不同的兩個(gè)組件, 有一個(gè)相同功能的方法, 這種寫法會(huì)導(dǎo)到, 我們要在兩個(gè)組件中寫出同樣的代碼, 兩個(gè)組件還可以接受, 如果有 200個(gè)組件都要這樣的功能, 是不是很煩人的感覺, 這時(shí)我們就可以使用 mixins 來(lái)復(fù)用代碼
使用方法
1、創(chuàng)建一個(gè) mixin 文件, 并把相應(yīng)的數(shù)據(jù) 暴露出去

既然暴露出來(lái)的, 那肯定是給別人用的, 當(dāng)然是給組件用的
2、先說(shuō)一個(gè)局部混入, 局部混入, 就是說(shuō)在 VueComponet 中一個(gè)個(gè)混中, 全局混入呢, 那當(dāng)然就是在 Vue (Vm) 對(duì)象上混入
下面是局部混入的寫法

同樣的, 對(duì)student 組件也進(jìn)行這樣的操作
完成后, 當(dāng)我們點(diǎn)擊時(shí), 功能同樣的可以完成, 而 showName 的方法, 就是我們通過(guò) mixins 混入的, 我們只寫了一次
以上就是局部混入的,它是在每一個(gè) VueComponet中都要混入一下
3、說(shuō)一下全局混入, 我們把它混入到 Vue 的對(duì)象中, 這樣, vue 下的 所有組件,都會(huì)有這個(gè)方法,不用每一個(gè)組件去寫了,這種寫法是在 確定所有的組件都需要這個(gè)方法或?qū)傩詴r(shí)才用的, 一般我們不會(huì)這樣用的
方法如下
在 main.js文件中 引入

以上就是全局混入, 一般用的不多, 因?yàn)椋?所有組件, 所有組件, 所有組件 都會(huì)被混入。 很少有這種需求
最后, 就要說(shuō)一下, 混入的方法, 屬性, 鉤子函數(shù), 如果本地已有的話, 產(chǎn)生沖突會(huì)是什么情況,如果本組件中有和混入的方法, 屬性, 同名字的, 以本組件中的為主, 混入的不生效
但是 生命周期鉤子函數(shù) 不管是本組件中的, 還是混入的, 都是會(huì)生效的, 并且, 會(huì)先執(zhí)行混入的生命周期鉤子, 再執(zhí)行本組件的生命周期鉤子
總結(jié)
到此這篇關(guān)于vue中混入 mixins使用方法的文章就介紹到這了,更多相關(guān)vue混入 mixins使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue使用$emit實(shí)現(xiàn)同步調(diào)用
這篇文章主要介紹了vue使用$emit實(shí)現(xiàn)同步調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
淺析前端路由簡(jiǎn)介以及vue-router實(shí)現(xiàn)原理
路由就是用來(lái)跟后端服務(wù)器進(jìn)行交互的一種方式,通過(guò)不同的路徑,來(lái)請(qǐng)求不同的資源,請(qǐng)求不同的頁(yè)面是路由的其中一種功能。這篇文章主要介紹了前端路由簡(jiǎn)介以及vue-router實(shí)現(xiàn)原理,需要的朋友可以參考下2018-06-06
vue3中實(shí)現(xiàn)使用element-plus調(diào)用message
這篇文章主要介紹了vue3中實(shí)現(xiàn)使用element-plus調(diào)用message,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
Vue純前端使用exceljs導(dǎo)出excel文件的完整圖文教程
這篇文章將一步一步為大家詳細(xì)介紹一下exceljs插件中的使用,以及如何使用exceljs導(dǎo)出excel文件,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03
vue+element+oss實(shí)現(xiàn)前端分片上傳和斷點(diǎn)續(xù)傳
這篇文章主要介紹了vue+element+oss實(shí)現(xiàn)前端分片上傳和斷點(diǎn)續(xù)傳,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
vue和react等項(xiàng)目中更簡(jiǎn)單的實(shí)現(xiàn)展開收起更多等效果示例
這篇文章主要介紹了vue和react等項(xiàng)目中更簡(jiǎn)單的實(shí)現(xiàn)展開收起更多等效果示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02

