vue中混入mixins的使用方法
前言
Vue中有一個(gè)設(shè)置項(xiàng)叫做混入 (mixins), 它的使用是用來做代碼復(fù)用的。同時(shí), 這個(gè)mixins 也分為局部混入和全局混入
vue中的解釋是這樣的,如果覺得語言枯燥的可以自行跳過嘿~
混入 (mixins): 是一種分發(fā) Vue 組件中可復(fù)用功能的非常靈活的方式。混入對(duì)象可以包含任意組件選項(xiàng)。當(dāng)組件使用混入對(duì)象時(shí),所有混入對(duì)象的選項(xiàng)將被混入該組件本身的選項(xiàng)。應(yīng)用場(chǎng)景
下面先說一下 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 來復(fù)用代碼
使用方法
1、創(chuàng)建一個(gè) mixin 文件, 并把相應(yīng)的數(shù)據(jù) 暴露出去
既然暴露出來的, 那肯定是給別人用的, 當(dāng)然是給組件用的
2、先說一個(gè)局部混入, 局部混入, 就是說在 VueComponet 中一個(gè)個(gè)混中, 全局混入呢, 那當(dāng)然就是在 Vue (Vm) 對(duì)象上混入
下面是局部混入的寫法
同樣的, 對(duì)student 組件也進(jìn)行這樣的操作
完成后, 當(dāng)我們點(diǎn)擊時(shí), 功能同樣的可以完成, 而 showName 的方法, 就是我們通過 mixins 混入的, 我們只寫了一次
以上就是局部混入的,它是在每一個(gè) VueComponet中都要混入一下
3、說一下全局混入, 我們把它混入到 Vue 的對(duì)象中, 這樣, vue 下的 所有組件,都會(huì)有這個(gè)方法,不用每一個(gè)組件去寫了,這種寫法是在 確定所有的組件都需要這個(gè)方法或?qū)傩詴r(shí)才用的, 一般我們不會(huì)這樣用的
方法如下
在 main.js文件中 引入
以上就是全局混入, 一般用的不多, 因?yàn)椋?所有組件, 所有組件, 所有組件 都會(huì)被混入。 很少有這種需求
最后, 就要說一下, 混入的方法, 屬性, 鉤子函數(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路由的模塊自動(dòng)化與統(tǒng)一加載實(shí)現(xiàn)
這篇文章主要介紹了Vue路由的模塊自動(dòng)化與統(tǒng)一加載實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06基于vue與element實(shí)現(xiàn)創(chuàng)建試卷相關(guān)功能(實(shí)例代碼)
這篇文章主要介紹了基于vue與element實(shí)現(xiàn)創(chuàng)建試卷相關(guān)功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12iview中實(shí)現(xiàn)this.$Modal.confirm自定義彈出框換行加樣式
這篇文章主要介紹了iview中實(shí)現(xiàn)this.$Modal.confirm自定義彈出框換行加樣式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09vue2手機(jī)APP項(xiàng)目添加開屏廣告或者閃屏廣告
這篇文章主要為大家詳細(xì)介紹了vue2手機(jī)APP項(xiàng)目添加開屏廣告或者閃屏廣告的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11vue實(shí)現(xiàn)簡(jiǎn)單的跑馬燈效果
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡(jiǎn)單的跑馬燈效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10關(guān)于SpringBoot與Vue交互跨域問題解決方案
最近在利用springboot+vue整合開發(fā)一個(gè)前后端分離的個(gè)人博客網(wǎng)站,所以這一篇總結(jié)一下在開發(fā)中遇到的一個(gè)問題,關(guān)于解決在使用vue和springboot在開發(fā)前后端分離的項(xiàng)目時(shí),如何解決跨域問題。在這里分別分享兩種方法,分別在前端vue中解決和在后臺(tái)springboot中解決。2021-10-10vue中如何實(shí)現(xiàn)拖拽調(diào)整順序功能
這篇文章主要介紹了vue中如何實(shí)現(xiàn)拖拽調(diào)整順序功能問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05Vue3+TS實(shí)現(xiàn)語音播放組件的示例代碼
這篇文章主要介紹了如何利用Vue+TS實(shí)現(xiàn)一個(gè)簡(jiǎn)易的語音播放組件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Vue有一定的幫助,需要的可以參考一下2022-03-03