摘要:混合中的鉤子函數(shù)同名鉤子函數(shù)都會(huì)執(zhí)行如果組件中存在鉤子函數(shù),混合中也存在相同的鉤子函數(shù),那么兩個(gè)鉤子函數(shù)都會(huì)執(zhí)行。最終的執(zhí)行結(jié)果多個(gè)混合的鉤子函數(shù)多個(gè)混合的鉤子函數(shù),會(huì)根據(jù)混合使用的順序來執(zhí)行。
1.認(rèn)識(shí)混合
混合(mixins)是一種分發(fā)Vue組件中可復(fù)用功能的非常靈活的方式
混合的作用:抽取多個(gè)組件的共同部分,增強(qiáng)組件的可復(fù)用性
混合的實(shí)質(zhì):混合對象類似一個(gè)Vue實(shí)例,可以包含Vue實(shí)例中的任意選項(xiàng);使用混合對象時(shí),相當(dāng)于把混合對象的所有選項(xiàng)都注入到了組件中
2.混合的簡單使用 2-1 沒有使用混合的情況當(dāng)組件A中有一個(gè)方法methodCommon,組件B中同樣有一個(gè)方法methodCommon,如果每個(gè)組件中都寫這個(gè)方法,會(huì)出現(xiàn)很多重復(fù)性代碼:
{{ methodCommon() }}
2-2 使用混合優(yōu)化代碼{{ methodCommon() }}
上面代碼中的重復(fù)部分,可以抽取一個(gè)公共的mixin:
// mixin.js export default { methods: { methodCommon() { return "this is a method ..." } } }
然后在每一個(gè)組件中引入該mixin.js即可:
{{ methodCommon() }}
{{ methodCommon() }}
通過混合,提高了代碼的復(fù)用性。
3.混合中的鉤子函數(shù) 3-1 同名鉤子函數(shù)都會(huì)執(zhí)行如果組件A中存在鉤子函數(shù),混合中也存在相同的鉤子函數(shù),那么兩個(gè)鉤子函數(shù)都會(huì)執(zhí)行。
執(zhí)行順序是混合中的鉤子函數(shù)先執(zhí)行,組件中的鉤子函數(shù)后執(zhí)行。
// mixin.js export default { created() { console.log("mixin created ...") } }
component A
最終的執(zhí)行結(jié)果:
mixin created ... componentA created ...3-2 多個(gè)混合的鉤子函數(shù)
多個(gè)混合的鉤子函數(shù),會(huì)根據(jù)混合使用的順序來執(zhí)行。
mixins: [ "mixin1", "mixin2" ]
執(zhí)行的時(shí)候,會(huì)先執(zhí)行mixin1中的鉤子函數(shù),再執(zhí)行mixin2中的鉤子函數(shù),最后執(zhí)行當(dāng)前組件中的鉤子函數(shù)。
4.混合中的對象選項(xiàng)混合中的對象選項(xiàng),如directives filters components data computed methods等會(huì)被混合成一個(gè)對象的屬性,如果鍵值對相同,會(huì)優(yōu)先根據(jù)組件中的內(nèi)容進(jìn)行輸出。
// mixin.js export default { data() { return { msg: "mixin msg ..." } } }
{{ msg }}
最終會(huì)輸出組件A中的msg:componentA msg ...
5.參考內(nèi)容混合
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/92004.html
摘要:插件的定義與使用插件的定義需要注意的點(diǎn)定義一個(gè)對外公開的方法方法有兩個(gè)參數(shù)第一個(gè)參數(shù)的構(gòu)造器,第二個(gè)參數(shù)是一個(gè)可選的對象必須,插件對外公開的方法構(gòu)造器可選參數(shù),是一個(gè)對象添加全局方法或?qū)傩蕴砑尤址椒ɑ驅(qū)傩蕴砑尤仲Y源指令過濾器過渡等添 1.插件的定義與使用 1-1 插件的定義 需要注意的點(diǎn): 定義一個(gè)對外公開的install方法 install方法有兩個(gè)參數(shù):第一個(gè)參數(shù)Vue的構(gòu)造...
摘要:首先把改成的形式這是一段測試文字綁定最后的顯示效果如下,如果要看具體的形式,可以在谷歌人員開發(fā)工具中自行查看指令的組成部分經(jīng)過上面的介紹,應(yīng)該對指令有一個(gè)大概的認(rèn)識(shí),下面就來對指令的每一項(xiàng)進(jìn)行說明。 這篇筆記主要用來說明 Vue 中數(shù)據(jù)的定義和指令的一些特性,后續(xù)會(huì)做更深入的說明。 1.Vue中的data函數(shù) 1-1 使用data函數(shù) 由于使用的是單文件組件,因此 Vue 組件中的數(shù)據(jù)...
摘要:自定義指令的使用在組件中定義一個(gè)自定義指令,作用將當(dāng)前節(jié)點(diǎn)中字體顏色設(shè)置為紅色。參考內(nèi)容自定義指令 1.自定義指令的使用 在組件中定義一個(gè)自定義指令,作用:將當(dāng)前DOM節(jié)點(diǎn)中字體顏色設(shè)置為紅色。 在自定義指令中簡化了鉤子函數(shù),下面的鉤子函數(shù)相當(dāng)于 bind 和 unbind 的縮寫: export default { name: app, directives: ...
摘要:綁定綁定,使用,簡寫的形式是。綁定比較靈活,可以使用表達(dá)式字符串對象或數(shù)組。綁定字符串綁定字符串的時(shí)候只能綁定一個(gè),不能綁定多個(gè)。 1.綁定Class 綁定Class,使用 v-bind:class,簡寫的形式是 :class。綁定Class比較靈活,可以使用表達(dá)式、字符串、對象或數(shù)組。 1-1 搭建結(jié)構(gòu) 首先,新建一些 class 樣式: .colorRed { colo...
摘要:如果要修改上面代碼中的過濾器,根據(jù)傳入的參數(shù)來分割字母,可以使用下面的方式修改。參數(shù)傳遞情況作為的參數(shù)的結(jié)果作為的參數(shù)的結(jié)果作為的參數(shù)參考內(nèi)容過濾器 1.認(rèn)識(shí)過濾器 過濾器的作用:用于文本格式化,僅僅作為格式化操作,不做復(fù)雜的業(yè)務(wù)處理 過濾器的使用方式:通過管道符號(|)來使用 過濾器的使用位置:mustache插值和v-bind表達(dá)式 2.過濾器的簡單使用 2-1 使用過濾器 ...
閱讀 2650·2023-04-26 02:17
閱讀 1628·2021-11-24 09:39
閱讀 1087·2021-11-18 13:13
閱讀 2670·2021-09-02 15:11
閱讀 2786·2019-08-30 15:48
閱讀 3416·2019-08-30 14:00
閱讀 2451·2019-08-29 13:43
閱讀 668·2019-08-29 13:07