最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue項(xiàng)目中使用addRoutes出現(xiàn)問題的解決方法

 更新時間:2021年08月30日 12:55:14   作者:code_fly  
大家應(yīng)該都知道可以通過vue-router官方提供的一個api-->addRoutes可以實(shí)現(xiàn)路由添加的功能,事實(shí)上就也就實(shí)現(xiàn)了用戶權(quán)限,這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目中使用addRoutes出現(xiàn)問題的解決方法,需要的朋友可以參考下

前言

addRoutes官方介紹:

函數(shù)簽名:

router.addRoutes(routes: Array<RouteConfig>)

動態(tài)添加更多的路由規(guī)則。參數(shù)必須是一個符合 routes 選項(xiàng)要求的數(shù)組。

這兩天做vue后臺權(quán)限管理系統(tǒng)的時候,發(fā)現(xiàn)使用vue提供的addRoute添加路由以后,會出現(xiàn)兩個bug,一起來看看如何解決吧~

一、404頁面

1. 出現(xiàn)的原因

使用vue提供的addRoutes添加了動態(tài)路由以后,404頁面的路由設(shè)置不在路由的末尾了

2. 解決方案

將404頁面的路由添加到動態(tài)路由的末尾

代碼如下(示例):

// xxx => 用戶有的動態(tài)路由數(shù)組
xxx.push({ path: '*', redirect: '/404', hidden: true })

// 動態(tài)添加路由配置
router.addRoutes(xxx)

二、刷新白屏

1. 出現(xiàn)原因

刷新時,動態(tài)路由沒有加載完畢

2. 解決方案

路由添加完畢后,在進(jìn)入頁面

代碼如下(示例):

if(用戶的動態(tài)路由沒有加載){
	// 解決刷新出現(xiàn)的白屏bug
  next({
    ...to, // next({ ...to })的目的,是保證路由添加完了再進(jìn)入頁面 (可以理解為重進(jìn)一次)
    replace: true // 重進(jìn)一次, 不保留重復(fù)歷史
  })
} else {
	next()
}

三、路由重復(fù)

1.  出現(xiàn)原因

路由設(shè)置是通過router.addRoutes(xxx)來添加的,退出時,并沒有清空,再次登陸,又加了一次,所以有重復(fù)。

2. 解決方案

代碼如下(示例):

// 重置路由
export function resetRouter() {
  const newRouter = createRouter()
  router.matcher = newRouter.matcher // 重新設(shè)置路由的可匹配路徑
}

這個方法就是將路由重新實(shí)例化,相當(dāng)于換了一個新的路由,之前加的路由就不存在了,需要在登出的時候, 調(diào)用一下即可。

總結(jié)

到此這篇關(guān)于Vue項(xiàng)目中使用addRoutes出現(xiàn)問題解決的文章就介紹到這了,更多相關(guān)Vue使用addRoutes的問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

故城县| 清水河县| 宣化县| 大余县| 平顶山市| 哈尔滨市| 东安县| 育儿| 拉孜县| 郸城县| 西和县| 洞口县| 澜沧| 宁阳县| 凤山县| 汉阴县| 涡阳县| 临泽县| 平阳县| 鹤山市| 梁河县| 博野县| 峨山| 辽阳市| 旌德县| 佛冈县| 万山特区| 肥东县| 灵石县| 互助| 阜平县| 镇安县| 洛隆县| 吉木乃县| 历史| 庄浪县| 彭山县| 信丰县| 松桃| 菏泽市| 桦南县|