mixin主要是針對vue的js邏輯復用,所以它一般都是js文件。
先來看看它的用法
//name.jsexportdefault{data(){return{name:'mixin的name',obj:{name:'mixin',value:'mixin'}}},methods:{getName(){console.log('我是mixin,name:',this.name)console.log('obj:',this.obj)}},mounted(){console.log('我是mixin的mounted')this.getName()}}
它的用法和vue組件的用法是一樣的。 比如鉤子函數,methods的方法,data的數據等等。
然后在組件使用,通過mixins
選項即可引入。
importnamefrom'./name.js'exportdefault{mixins:[name],data(){}}
那么就會有一個問題,那么如果組件內也定義了同樣的鉤子函數,同名方法,同名數據,該以誰的為準?是覆蓋還是合并?
通過例子來看看
importnamefrom'./name.js'exportdefault{mixins:[name],data(){name:'組件的name',obj:{name:'component'}},methods:{getName(){console.log('我是組件,name:',this.name)console.log('obj:',this.obj)}},mounted(){console.log('我是組件的mounted')this.getName()}}
打印的結果如下:
通過以上結果可以得到,
鉤子函數會合并起來,都會執行。先執行mixins的鉤子函數再執行組件的鉤子函數。
data的同名數據,要分情況討論
如果是基本類型,會用組件的同名數據覆蓋mixin的數據。
但是如果是對象,會遞歸對比key,如果是同名key則會覆蓋,如果不是同名的,則保留。
methods的方法也是一樣,會用組件的方法覆蓋mixin的同名方法。
除了上面這些選項,還有比如components
(組件),和directives
(指令)等也是一樣的邏輯,同名的會覆蓋,以組件的為優先。
“vue的mixin怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注本站網站,小編將為大家輸出更多高質量的實用文章!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
一線城市人口余額不足意味著什么?盡管數據顯示,我國的城鎮化率已經超過了60%,但城鎮化還會繼續。所以未來人口依舊會朝著大城市聚集,人口集中化將會是未來的一個大趨勢,甚至有專家預測稱:未來19個大城市會聚集全國74%的人口。而過去這么多年的發展經驗也證明了一件事,那就是人口會推動經濟發展,因此未來大城市還會迎來巨大的經濟推動力。但是任何事情都是有利就有弊的,雖然人口集中會帶來經濟增長,但也會產生一系...
關于外幣兌換一直是很多人比較關心的問題,其中韓幣和人民幣之間的兌換方式,也是很多年輕人非常關注的,因為韓國旅行似乎已經成為潮流,尤其是女性喜歡去韓國購物,所以今天我們主要來了解韓元兌換成人民幣是怎么兌換的,5000萬韓幣換多少人民幣?5000萬韓元折合294450元人民幣按當前匯率兌換結韓元當前匯率人民幣10000.0058895.8891000韓元折合5.889元人民幣按當前匯率兌換結臺幣當前匯...
地量是什么意思?地量是股票的成交量處于較低的水平,判斷放量與縮量則看k線圖的紅綠色柱子,通過換手率,過量比還有成交量指標來看。地量在股票之中就是相對成交比較低的一種狀態,也是一種對比值,是相對于高位的天量來說,一旦是成交量到達頂端成交量的20%,也就進入到了地量的狀態。在一定的情況之下,股票的成交量出現明顯的下跌也就證明了不夠活躍,成交持續下跌,最終就會進入到地量狀態。漲停之后,買出單減少買入單增...