Vue 路由切換時頁面內容沒有重新加載的解決方法
第二次進入頁面,頁面路由參數(shù)已經改變,但是頁面內容不會刷新。
問題原因:在組件mounted鉤子中調用的刷新頁面內容,但測試發(fā)現(xiàn)這個鉤子沒有被調用。后來發(fā)現(xiàn)App.vue中使用了<keep-alive>:
<template> <div id="app"> <keep-alive> <router-view></router-view> </keep-alive> </div> </template>
keep-alive是Vue的內置組件,能在組件切換過程中將狀態(tài)保留在內存中,防止重復渲染DOM。這就是問題所在了。
解決辦法:
使用Vue組件切換過程鉤子activated(keep-alive組件激活時調用),而不是掛載鉤子mounted:
<script>
export default {
// ...
activated: function() {
this.getCase()
}
}
</script>
關于keep-alive組件的鉤子:https://cn.vuejs.org/v2/api/#activated

以上這篇Vue 路由切換時頁面內容沒有重新加載的解決方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue3?+?elementPlus?reset重置表單問題
這篇文章主要介紹了vue3?+?elementPlus?reset重置表單問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05

