Vue 跳转路由前,如何判断跳转的path存在于当前项目的路由表里面?

Vue 跳转路由前,如何判断跳转的path存在于当前项目的路由表里面?

如标题

我想要做个操作,跳转路由前判断下是否存在于当前项目的路由表里面,存在则直接跳转,不存在则跳转到目前已存在路由表的第一个页面(不包括login和404页面)

当前项目的路由表里存在嵌套路由和类似 /jurisdiction/edit/:id 这样带参数的路由

我现在研究的步骤已经到了,递归遍历路由表取出了所有路由的path了,如:

[ "/", "/login", "/404", "/jurisdiction", "/jurisdiction/account", "/jurisdiction/edit/:id", "*" ]

本来想直接用数组的 findIndex 方法来遍历查找的

但是对于 /jurisdiction/edit/:id id值动态变化的

跳转的路由可能是 /jurisdiction/edit/123,也可能是 /jurisdiction/edit/55不知道如何判断


回答:

自己已解决,在路由表的最后加这一段代码就行

{ path: '*', redirect: to => {

console.log('未找到相关路由,默认跳转到第一个路由页面')

return <第一个路由页面的路径>

}, hidden: true }

以上是 Vue 跳转路由前,如何判断跳转的path存在于当前项目的路由表里面? 的全部内容, 来源链接: utcz.com/p/936370.html

回到顶部