问题:
路由传参一直不能获取到参数, 未出现报错
原因:
混淆 query 和 params 的使用方法, 在使用 params 传参时错误的使用了 path
代码:
- 错误写法
...
this.$router.push({
path: '/HealthDetectionChildNav',
params: {
title: item['name'],
actionList: item['actionList']
}
})
- 正确写法
...
this.$router.push({
name: 'HealthDetectionChildNav',
params: {
title: item['name'],
actionList: item['actionList']
}
})
- 获取方式
const { title, actionList } = this.$route.params
总结:
- 传参时使用的是 this.
$router
.push, 获取时使用的是 this.$route
.params - query 传参是使用 path 来引入,会将传递的参数显示在 url 后,像是带参的 get 请求
- params 传参使用 name 引入,会隐藏参数,像是 post
- 使用 query 页面刷新时不会清空传入的数据, params 则会清空