1. 程式人生 > >Vue:router跳轉問題歸納

Vue:router跳轉問題歸納

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

但是當跳轉的路徑相同,只有後面攜帶的引數不同時,往往會出現跳轉不生效的情況。

 

那麼往往我們會在進入這個頁面的時候呼叫init()方法,但是不是所有情況都可以用這種方式做的,我們可以通過監聽路由的方式處理。

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

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

實際應用例項:

背景:一個頁面,但是有兩個路由指向這個頁面,需要這兩個路由切換時頁面資料重新整理

使用watch監聽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();
        }
    }
}

存在的問題:所有進入這個頁面時,資料有會重新整理;

希望能做到:當兩個路由指向同一個頁面時,頁面都能快取,即我在這個路由下操作著頁面,跳轉到另一個路由所指向的相同的頁面中進行操作,兩者不相互干擾。(如果使用keepalive,兩者是會被幹擾的)

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

 

在路由跳轉,頁面重新整理這方面還有很多其他的問題,後續遇到,持續更新。