色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue activated知乎

張吉惟2年前10瀏覽0評論

對于Vue中的activated生命周期函數(shù),大家可能不太熟悉。但是它在Vue的開發(fā)中,具有非常重要的作用。首先我們要明確,activated函數(shù)只有在Vue實例從有父級實例變成無父級實例(比如從router-view切出去)時才會被調用。此外,它只能在keep-alive已經(jīng)被使用時才能生效。

//使用keep-alive包裹組件//在組件中定義activated函數(shù)
export default {
activated() {
//執(zhí)行相關操作
}
}

那么,activated函數(shù)的作用是什么呢?通常情況下,我們使用它來判斷頁面是否需要重新渲染,或者執(zhí)行頁面重新渲染時需要的操作。

舉個例子,當我們在一個列表頁中,點擊進入某個詳情頁,再從詳情頁返回列表頁,我們需要確保返回到列表頁時,列表頁中的數(shù)據(jù)能夠及時更新。這時就可以使用activated函數(shù),判斷當前組件是否還未加載,或者列表頁需要重新更新數(shù)據(jù),只有當需要重新加載時,我們才會執(zhí)行相關渲染操作。

export default {
data() {
return {
dataList: []
}
},
async mounted() {
await this.getData()
},
activated() {
if (!this.dataList.length) {
this.getData()
}
},
methods: {
async getData() {
//請求數(shù)據(jù)并更新dataList
}
}
}

以上代碼中,我們在mounted函數(shù)中發(fā)起請求,并將數(shù)據(jù)保存在dataList中。在activated函數(shù)中,我們判斷當前組件是否已經(jīng)有數(shù)據(jù),如果沒有,就再次發(fā)起請求更新數(shù)據(jù)。這樣,在返回到列表頁后,如果數(shù)據(jù)已經(jīng)更新,就不會再次請求;但是如果數(shù)據(jù)還未加載,就可以保證數(shù)據(jù)能夠及時顯示。

除了更新數(shù)據(jù),我們還可以使用activated函數(shù)來執(zhí)行其它相關操作。例如,當我們從列表頁進入詳情頁時,可以使用activated函數(shù)隱藏、銷毀當前音樂播放器等操作。這樣能夠提高頁面切換時的用戶體驗。

export default {
mounted() {
this.$refs.audio.play()
},
activated() {
this.$refs.audio.pause()
},
destroyed() {
this.$refs.audio.pause()
}
}

在以上代碼中,我們在mounted函數(shù)中播放音樂,并在activated函數(shù)中暫停音樂。這樣在從詳情頁返回列表頁時,音樂播放器也會暫停,而不是繼續(xù)播放。

總之,activated函數(shù)不僅可以用于更新數(shù)據(jù),還可以執(zhí)行其它相關操作。其作用范圍相對比較局限,但是它在Vue開發(fā)中的作用非常重要。因此,在使用keep-alive組件時,我們可以熟練地使用activated函數(shù),提升頁面間的跳轉效果。