@ruoyi vue3 内链第三方页面
菜单接口getRouters修改点
如果嵌套页面在第三层即在第二层目录下,需要将第二层目录的component去掉,否则无法正常显示
{
“redirect”: “noRedirect”,
“path”: “/first”,
“component”: “Layout”,
“hidden”: false,
“meta”: {
“icon”: “first”,
“noCache”: false,
“title”: “系统管理”
},
“name”: “First”,
“alwaysShow”: true,
“children”: [
{
“redirect”: “noRedirect”,
“path”: “/second”,
“hidden”: false,
“name”: “System”,
** 注意第二层目录下既含有vue又含有第三方页面时需要注释调**
//“component”: “ParentView”,
“alwaysShow”: true
“children”: [
{
** 注意这个path不能以.html结尾**
“path”: “/Other/system”,
“component”: “InnerLink”,
“hidden”: false,
“meta”: {
“link”: “https://www.baidu.com/”,
“noCache”: false,
“title”: “第三方页面”
},
“name”: “Otherpage”
},
{
“path”: “/system/setting/page”,
“component”: “/system/setting/page”,
“hidden”: false,
“meta”: {
“icon”: “blackSpot”,
“noCache”: false,
“title”: “vue3页面”
},
“name”: “vue3page”,
}
],
“meta”: {
“icon”: “systemSetting”,
“noCache”: false,
“title”: “系统设置”
}
}
]
},
路由嵌套时显示根路由,不带父路径 ,注意点
- router.path前面需要带“/”
- SidebarItem组件中resolvePath方法返回时需要去掉路径拼接:
将return getNormalPath(props.basePath + ‘/’ + routePath)改为
return getNormalPath(routePath?routePath:props.basePath)