首先要了解route和routes和router
route它是一条路由,routes是一组路由,把上面的每一条路由结合起来,形成一个数组,router可以理解为一个容器,或者说一种机制,它管理了一组route,简单的来说,route只是进行了url和函数的映射,而在当接收到一个URL之后,去路由映射表中查找相应的函数,这个过程是由router来处理的。
vue中
r
o
u
t
e
为
当
前
的
r
o
u
t
e
r
跳
转
对
象
里
面
可
以
获
取
n
a
m
e
、
p
a
t
h
、
q
u
e
r
y
、
p
a
r
a
m
s
等
。
想
要
导
航
到
不
同
的
U
R
L
中
,
则
使
用
route为当前的router跳转对象里面可以获取name、path、query、params等。 想要导航到不同的URL中,则使用
route为当前的router跳转对象里面可以获取name、path、query、params等。想要导航到不同的URL中,则使用router.push和
r
o
u
t
e
r
.
r
e
p
l
a
c
e
方
法
使
用
router.replace方法 使用
router.replace方法使用router.replace不会向history添加新记录,而是替换掉当前的history记录,所以使用replace跳转到的网页点击后退不能实现。
返回上一级可以使用$router.go(-1)方法
1.params传参
this.$router.push({
name:' ' , //注意使用params传参时这里必须是路由的name
params:{
参数名: "参数值"
}
});
//目标页面接收参数
this.$route.params.参数名
2.query传参
this.$router.push({
path:'/index',
query:{
参数名:"参数值"
}
});
//目标页面接收参数
this.$route.query.参数名
两种方式的区别就是query传参的参数会在url后面的地址栏类似于get请求,params传参的参数不会展示在地址栏类似于post请求,两种方式要一一对应,不可乱用。
一般可用以在前端项目中路由传参可用于编辑和查看详情,还可以用于在编辑和添加是同一页面时,是显示添加和编辑的的判断,例如:
{{ $route.params.id ? '编辑' : '添加' }}