关于vue路由切换传递参数的问题,参数无法获取

路由跳转代码:
let pwd = one + MathRound(3);

  this.$router.push({ path: '/Form', query: { pwd: pwd }, params: {         name: "nitem" } });

跳转后实际获取的:

clipboard.png

路由中的params为什么是空的呢

阅读 2.9k
3 个回答

亲, params 是动态路由里面的。你需要在路由里面命名:www, 然后路由跳转时候/aaa,这个时候,{ params: { www: 'aaa'}} 就出来了

谢邀,你是指为什么params里的数据没有在url上显示吗?因为params的一个作用是做动态路由匹配的,比如你的路由是/data/:id,假如真实地址是/data/1,/data/2,那么id就会匹配1或者2了,这里的id就要用params

另一个作用就是类似query一样传参,但是不同的是query会在url展示。

给你一篇关于params使用的教程吧 传送门

新手上路,请多包涵

params传参的时候,path不能直接写地址。而是要写路由配置中配置的name
你要先在router文件中配置好路由

{
 path: "/from",
 name: "test",
}

然后使用$router传值跳转

this.$router.push({ name: 'test', query: { pwd: pwd }, params: {name: "nitem"}});

最后使用$route来获取
this.$route.params.name

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题