Vue:router跳轉問題概括

通常咱們在vue工程中進行頁面跳轉,直接用this.$router.push({path:'/xxx ', query: { id: id,name: "yyy"}})vue

可是當跳轉的路徑相同,只有後面攜帶的參數不一樣時,每每會出現跳轉不生效的狀況。緩存

 

那麼每每咱們會在進入這個頁面的時候調用init()方法,可是不是全部狀況均可以用這種方式作的,咱們能夠經過監聽路由的方式處理。this

watch: {
    '$route' (to, from) {
        this.$router.go(0);
    }
}

參考資料:https://blog.csdn.net/wulala_orz/article/details/78928524spa

實際應用實例:.net

背景:一個頁面,可是有兩個路由指向這個頁面,須要這兩個路由切換時頁面數據刷新code

使用watch監聽router變化router

watch: {
    '$route' (to, from) {
        if(to.path.indexOf('/materiel-manage/gz')>=0){
            this.init();
        }
        if(to.path.indexOf('/materiel-manage/source')>=0){
            this.init();
        }
    }
}

存在的問題:全部進入這個頁面時,數據有會刷新;blog

但願能作到:當兩個路由指向同一個頁面時,頁面都能緩存,即我在這個路由下操做着頁面,跳轉到另外一個路由所指向的相同的頁面中進行操做,二者不相互干擾。(若是使用keepalive,二者是會被幹擾的)路由

望指教,後續找到方式也會不斷更新string

 

在路由跳轉,頁面刷新這方面還有不少其餘的問題,後續遇到,持續更新。

相關文章
相關標籤/搜索