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