如何實(shí)現(xiàn)組件通信
父子通信
- props & emit
- v-model
- sync
-
children
兄弟通信
- this.
children
通用方法
- vuex
- event Bus
- 注入依賴(lài)(service)
mixins
用途
擴(kuò)展組件的常用方式躺涝。
例如多個(gè)組件有相同的邏輯時(shí)代虾,可以將這個(gè)邏輯提取出來(lái),作為一個(gè)混入對(duì)象(mixins)
選項(xiàng)合并
data:遞歸合并哄酝,組件優(yōu)先
鉤子函數(shù):合并為一個(gè)數(shù)組难裆,mixins提前調(diào)用
methods子檀、components镊掖、directives:混合合并,組件的key優(yōu)先
computed & watch的區(qū)別
區(qū)別:
computed是計(jì)算屬性褂痰,有緩存機(jī)制
watch:監(jiān)聽(tīng)數(shù)據(jù)變化
keep-alive組件有什么作用
緩存組件狀態(tài)亩进,提高性能優(yōu)化
v-show和v-if的區(qū)別
v-show:對(duì)css的display操作,會(huì)渲染出dom缩歪,適合操作頻繁的場(chǎng)景
v-if:直接渲染/銷(xiāo)毀dom归薛,適合操作不頻繁的場(chǎng)景
為什么data是一個(gè)函數(shù),而不是一個(gè)對(duì)象
因?yàn)榻M件復(fù)用的時(shí)候匪蝙,data如果是一個(gè)對(duì)象的話(huà)主籍,引用的數(shù)據(jù)是相同的(內(nèi)存地址一致)。這是我們不希望的逛球。使用函數(shù)千元,返回一個(gè)新的對(duì)象,則可以把這個(gè)問(wèn)題給避免掉颤绕。