由於子路由都是動態追加的,當介面重新整理的時候,其實我們路由裡面並沒有該子介面的配置,所以就是空白了
在頁面重新整理時候,在router.beforeeach裡面去判斷,如果是動態路由而且是第一次載入,則動態追加該路由,再進行介面的跳轉。
我的思路:在頁面重新整理或是第一次載入進來時,建立乙個變數,然後在 router.beforeeach 裡面進行判斷。(這裡是模擬的資料,所以省略請求介面操作)
import vue from 'vue'
import util from './util/util'
import router from './router'
// 攔截
var qq = false; // 頁面重新整理貨初次載入 才會執行這個變數
var arr = [
, ,
]router.beforeeach((to,from,next) => );
router.addroutes(router.options.routes);
next(to.path);
} console.log('store.state.login:',sessionstorage.getitem('login'));
if(sessionstorage.getitem('login'))else
}else else
}})util.js 檔案:
import vue from 'vue';
let util = ,
s4:function () ,
//產生唯一id
guid:function () ,
getrootpath:function () ,
extendrouters:function(data) )}}
);}
if (data[item].list && data[item].list.length > 0) )}}
);}}}
}}
//匹配不到
child.push()});
return child;
},replaceall:function(src,f,e)
};export default util;
Vue 動態新增路由及生成選單
寫後台管理系統,估計有不少人遇過這樣的需求 根據後台資料動態新增路由和選單。為什麼這麼做呢?因為不同的使用者有不同的許可權,能訪問的頁面是不一樣的。在網上找了好多資料,終於想到了解決辦法。利用 vue router 的addroutes方法可以動態新增路由。先看一下官方介紹 router.addro...
Vue 動態新增路由及生成選單
寫後台管理系統,估計有不少人遇過這樣的需求 根據後台資料動態新增路由和選單。為什麼這麼做呢?因為不同的使用者有不同的許可權,能訪問的頁面是不一樣的。在網上找了好多資料,終於想到了解決辦法。利用 vue router 的addroutes方法可以動態新增路由。先看一下官方介紹 router.addro...
vue根據後端選單資料生成動態路由
動態路由初體驗,存在不足,歡迎點評指正 前言 在之前的專案中,選單是動態獲取的,而路由是寫死的,配置路由的時候只要保證路由的path與選單的index elementui的el menu元件 相同就可以實現路由跳轉,只是選單改了的話,路由也得相應修改,否則就會找不到頁面。當時之所以沒有研究動態路由是...