2020-8-13 前端達(dá)人
v-cloak
: 使用 v-cloak 指令可以有效解決屏幕閃動。
有時候,頁面沒渲染之前就會出現(xiàn)vue代碼塊,例如下圖。使用v-cloak可以很好解決這種問題。
![]()
keep-alive
官網(wǎng)是這么解釋的:
![]()
例如:可以實(shí)現(xiàn)頁面緩存,比如從編輯頁切出去再切進(jìn)來,頁面還是處于編輯狀態(tài).
需要在router.js
中設(shè)置meta
屬性,meta
下的keepAlive
屬性設(shè)置為true,代表這個頁面需要進(jìn)行緩存。
在app.vue
中修改一下代碼<router-view />
在詳情頁detail.vue
中,注意beforeRouteEnter
和beforeRouteLeave
兩個方法。
插槽slot
解構(gòu)插槽 Prop:可以傳遞子組件的變量
效果:// i am a child two default
強(qiáng)制刷新某個div
修飾符
事件修飾符:
.stop
:相當(dāng)于原生JS中event.stopPropagation()
,阻止事件冒泡。
.prevent
:相當(dāng)于原生JS中event.preventDefault()
,阻止默認(rèn)事件的發(fā)生。
.capture
:事件冒泡的方向相反,事件捕獲由外到內(nèi)。即有冒泡發(fā)生時,有該修飾符的dom元素會先執(zhí)行,如果有多個,從外到內(nèi)依次執(zhí)行。
.self
:只會觸發(fā)自己范圍內(nèi)的事件,不包含子元素。
.once
:事件只能觸發(fā)一次。
.passive
:事件會執(zhí)行默認(rèn)方法。
注:
- 每次事件產(chǎn)生,瀏覽器都會去查詢一下是否有preventDefault阻止該次事件的默認(rèn)動作。我們加上passive就是為了告訴瀏覽器,不用查詢了,我們沒用preventDefault阻止默認(rèn)動作。
passive
和prevent
沖突,不能同時綁定在一個監(jiān)聽器上
按鍵修飾符: 去官網(wǎng)查看即可,這里不過多解釋。Vue.js-修飾符
:is
: 動態(tài)組件
優(yōu)點(diǎn):使代碼更符合HTML語法驗(yàn)證
官網(wǎng)是這么解釋的:
![]()
@click.native
: 在封裝好的組件上使用,要加上.native才能click。
- router-link 加上@click事件,綁定的事件會無效因?yàn)椋簉outer-link的作用是單純的路由跳轉(zhuǎn),會阻止click事件,你可以試試只用click不用native,事件是不會觸發(fā)的。此時加上.native,才會觸發(fā)事件。
- 根據(jù)Vue2.0官方文檔關(guān)于父子組件通訊的原則,父組件通過prop傳遞數(shù)據(jù)給子組件,子組件觸發(fā)事件給父組件。但父組件想在子組件上監(jiān)聽自己的click的話,需要加上native修飾符。
作者:小城聽風(fēng)雨
藍(lán)藍(lán)設(shè)計(jì)的小編 http://www.yvirxh.cn