重定向业务意义问题
来源:8-13 路由重定向原理讲解
慕莱坞8397179
2020-01-19
老师,您在视频里讲面包屑导航是用了重定向,我想问下为什么不直接到路径而需要重定向到路径呢?重定向的设计是有什么意义?
写回答
1回答
-
小俊001
2020-01-20
同学您好:
使用重定向组件的原因是重定向中使用了 replace 方法进行跳转,这样的好处是跳转后不保存原路由,redirect 的核心源码如下:
this.$router.replace({ path: '/' + path, query })
面包屑导航中使用到重定向部分的源码如下:
handleLink(item) {
const { redirect, path } = item
if (redirect) {
this.$router.push(redirect)
return
}
this.$router.push(this.pathCompile(path))
}
当路由中配置了 redirect 路径则会进行重定向,当路由中包含 redirect 路径时,就会跳转到重定向组件,触发 router.replace,消除原有路由在 history 中的记录,这是面包屑比较高阶的用法。
012021-11-08
相似问题