基于vue-admin-template的动态路由的问题解决

基于vue-admin-template的动态路由的问题解决

1.问题一:页面无法显示

控制台报如下错误:

首先经过一番网上搜索,有说是webpack的原因,调试后发现不是,然后再排查后台返回的组件地址。

由于我的前端拼接组件地址的代码如下:

html 复制代码
component:item.componentUrl === '#'? Layout: resolve => require([`@/views/${item.componentUrl}/index.vue`], resolve)

查看后台地址,错误原因即后台多加了个/,正确的组件地址为:

刚开始遇到此类问题时,总以为是前端是不是写法错误,不支持之类的,然而我调试的时候,将动态路由写死进行调试可以正确返回,故思考后台返回组件地址的问题。

问题二 :刷新白屏

参考了一下网上教程,代码如下:

javascript 复制代码
if (isShow) {
			isShow = false; // 第一次进入后修改,使第二次跳转
			// 判断第一次进入路由守卫
			const accessRoutes = await store.dispatch('permission/generateRoutes');
			//更新加载路由
			router.options.routes = store.getters.permission_routes;
			// 动态添加可访问路由
			router.addRoutes(accessRoutes);
			next({ ...to, replace: true });
		} else {
			next();
		}

注意:isShow = false 一定要在next({ ...to, replace: true })前面,否则还是白屏,我搞了好久,才发现是这个原因,累了。。。。

相关推荐
研☆香1 分钟前
JS中的三种显示弹窗
开发语言·前端·javascript
俩毛豆2 分钟前
HarmonyOS APP开发-一文讲清使用Web组件加载网页的三种方法-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利
前端·华为·harmonyos
猛扇赵四那边好嘴.7 分钟前
Flutter 框架跨平台鸿蒙开发 - 问答社区应用开发教程
开发语言·javascript·flutter·华为·harmonyos
C_心欲无痕10 分钟前
Next.js 路由系统对比:Pages Router vs App Router
开发语言·前端·javascript
LawrenceLan12 分钟前
Flutter 零基础入门(二十二):Text 文本组件与样式系统
开发语言·前端·flutter·dart
hxjhnct20 分钟前
JavaScript 的 new会发生什么
开发语言·javascript
狗都不学爬虫_25 分钟前
JS逆向 - 最新版某某安全中心滑块验证(wasm设备指纹)
javascript·爬虫·python·网络爬虫·wasm
运筹vivo@28 分钟前
攻防世界:Web_php_unserialize
前端·web安全·php
Jiangnan_Cai35 分钟前
【Electron】Windows 下打包遇到 dist/unpacked 文件内 electron.exe 文件缺失问题
前端·javascript·electron
自不量力的A同学35 分钟前
Electron 40.0.0 发布,跨平台桌面应用开发工具
前端·javascript·electron