vue動態路由來生成系統選單 解決重新整理空白的問題

2021-10-01 21:01:43 字數 1130 閱讀 1663

由於子路由都是動態追加的,當介面重新整理的時候,其實我們路由裡面並沒有該子介面的配置,所以就是空白了

在頁面重新整理時候,在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元件 相同就可以實現路由跳轉,只是選單改了的話,路由也得相應修改,否則就會找不到頁面。當時之所以沒有研究動態路由是...