1、区别一(页面显示)
query传参时,会将传递的数据会展示在地址栏的url当中,这样造成的问题有两点,第一点就是不美观,让页面看起来杂乱无章, 第二点就是可能会涉及到隐私数据,这枚直白的把意思数据展示的页面当中,肯定会有一些安全的问题
params传参的话,传递的数据不会在地址栏的url当中展示,让页面显得美观
2、区别二(性能)
query传参,在目标页面接受之后,我们再次刷新页面,数据是不会丢失的,在页面不销毁的情况下,可以一直长存于目标页面
params传参,在目标页面接受之后,我们再次刷新页面会发现数据会丢失
3、区别三(方式)
// name 就是路由的 name 不用加"/"
this.$router.push({
name:"baidu",
query:{
id:1
}
})
// path 就是路由的 path
this.$router.push({
path:"/baidu",
query:{
id:1
}
})
// 使用 query 传参的话,必须使用 name 进行传递,使用 path 传递接收到的时 undefined
this.$router.push({
name:"baidu",
query:{
id:1
}
})
二者皆有利有弊,我们可以根据自己的需求许选择更适合自己的那个方式