传入vue中路由帮我写一个能返回所有name和path对应关系的list的函数
时间: 2023-06-08 14:08:17 浏览: 87
好的,这是一个示例代码,你可以将其添加到你的Vue项目中:
```
function generateRouteList(routes) {
// 初始化结果数组
let routeList = []
// 遍历所有路由
routes.forEach(route => {
// 如果当前路由有name和path属性
if (route.name && route.path) {
// 将当前路由的name和path属性添加到结果数组中
routeList.push({
name: route.name,
path: route.path
})
}
// 如果当前路由有子路由,递归调用函数
if (route.children) {
routeList = routeList.concat(generateRouteList(route.children))
}
})
// 返回结果数组
return routeList
}
// 在Vue实例中调用该函数
const routes = this.$router.options.routes
const routeList = generateRouteList(routes)
console.log(routeList)
```
这个函数将遍历vue-router中的所有路由,检查每个路由是否有name和path属性,并将找到的所有name和path对应关系添加到结果数组中。最后,函数将返回此列表。
阅读全文