Vue 路由切換時頁面內容沒有從新加載

第二次進入頁面,頁面路由參數已經改變,可是頁面內容不會刷新。vue

問題緣由:在組件mounted鉤子中調用的刷新頁面內容,但測試發現這個鉤子沒有被調用。後來發現App.vue中使用了<keep-alive>:api

<template>
  <div id="app">
    <keep-alive>
      <router-view></router-view>
    </keep-alive>
  </div>
</template>
keep-alive是Vue的內置組件,能在組件切換過程當中將狀態保留在內存中,防止重複渲染DOM。這就是問題所在了。app

解決辦法:測試

使用Vue組件切換過程鉤子activated(keep-alive組件激活時調用),而不是掛載鉤子mounted:this

<script>
export default {
  // ...
  activated: function() {
    this.getCase()
  }
}
</script>
關於keep-alive組件的鉤子:https://cn.vuejs.org/v2/api/#activated.net


--------------------- 
做者:木馬啊 
來源:CSDN 
原文:https://blog.csdn.net/u010419337/article/details/79443360 
版權聲明:本文爲博主原創文章,轉載請附上博文連接!router

相關文章
相關標籤/搜索