vue項目url變化頁面卻不刷新,如何解決?

問題

分別打開兩個詳情頁面,復(fù)制其中一個到另一個的地址欄中輸入url,按回車鍵,頁面卻沒有刷新,怎么回事?

思考

由于vue項目采用hash模式,詳情頁面采用同一組件,vue官方文檔這樣解釋:
提醒一下,當使用路由參數(shù)時,例如從 /user/foo 導(dǎo)航
到 /user/bar,原來的組件實例會被復(fù)用。因為兩個路由都渲染同個組件,比起銷毀再創(chuàng)建,復(fù)用則顯得更加高效。不過,這也意味著組件的生命周期鉤子不會再被調(diào)用。

復(fù)用組件時,想對路由參數(shù)的變化作出響應(yīng)的話,你可以簡單地 watch (監(jiān)測變化) $route 對象:

const User = {
  template: '...',
  watch: {
    '$route' (to, from) {
      // 對路由變化作出響應(yīng)...
    }
  }
}

或者使用 2.2 中引入的 beforeRouteUpdate 導(dǎo)航守衛(wèi)

const User = {
  template: '...',
  beforeRouteUpdate (to, from, next) {
    // react to route changes...
    // don't forget to call next()
  }
}

最快解決方案

在父組件的 router-view 中加一個 key,例如:

<router-view :key="$route.fullPath" />

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、vue-router實現(xiàn)原理 SPA(single page application):單一頁面應(yīng)用程序,只有...
    walycode閱讀 1,121評論 1 3
  • 這是我第5篇簡書。 ??由于Vue在開發(fā)時對路由支持的不足,于是官方補充了vue-router插件。vue的單頁面...
    東西里閱讀 47,450評論 20 212
  • 安裝 直接下載 在Vue后面加載vue-router,它會自動安裝的: NPM 如果在一個模塊化工程中使用它,必須...
    oWSQo閱讀 834評論 0 0
  • 其實無論是平時演講或開會和聊天,我們都需要一個明確的主題,這樣方便大家了解情況,主題太多會顯得啰嗦且不明確,浪費時...
    MSXiang閱讀 215評論 0 0
  • 作為一名負責任的老師,加強課堂教學(xué)管理是必須要做好的,是天經(jīng)地義的事。其實只要做好了課堂教學(xué)管理,也就提高了課堂效...
    宕州老馬閱讀 1,735評論 3 13

友情鏈接更多精彩內(nèi)容