query要用path来引入,接收参数都是this.$route.query.userId。query类似于get传参,即在浏览器地址栏中显示参数。
- 传参:this.$router.push({ path: '/news', query: { userId: 123 }});
- 取参:this.$route.query.userId
params要用name来引入,接收参数都是this.$route.params.userId。params则类似于post,即在浏览器地址栏中不显示参数
- 传参:this.$router.push({ name: 'news', params: { userId: 123 }})
- 取参:{{this.$route.params.userId}}
this.$router和this.$route的区别见另外一篇文章,这是路由传参里边的一个隐藏bug
POST:https://blog.csdn.net/dangbai01_/article/details/86525827