淺談vue之動態路由匹配


在日常開發過程中,可能會遇到一些類似於新聞詳情頁的內容,需要把所有詳情頁映射到同一組件上,這是動態路由匹配的應用場景之一。在使用的過程中,也遇到過一些小坑,此篇做個簡要的總結說明:

基本使用

1 {
2           path: 'newsDetail/:uid',
3           name: 'newsDetail',
4           component: NewsDetail
5         } 

其中uid是路由參數,在跳轉到指定新聞詳情頁可以通過以下方式:

1 this.$router.push({name: 'newsDetail', params: {uid: this.data.next.uid}});

問題:

  跳轉時頁面內容不刷新

    原因:當前組件被復用,組件的生命周期鈎子失效

    解決思路:

      1、監聽$route的變化,在$route監聽方法中處理邏輯

1 watch: {
2       '$route'() {
3         let bean = {uid: this.$route.params.uid};
4         this.getNewsDetail(bean);
5       }
6     },

      2、在組件生命周期鈎子中處理(beforeRouteUpdate)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM