vue 带boolean类型的参数跳转路由时,会进行类型转化吗?

发布于 2022-09-12 23:21:49 字数 909 浏览 12 评论 0

  • 开发项目的时候,有个页面用到了路由跳转,然后将{edit: true}作为参数传递过去

image.png

  • 然后在接收页面打印了一下参数以及参数类型

image.png
image.png

  • 这里可以看到传递的edit进行了类型转换,被转换成了string类型。
  • 然后我去创建了一个新的项目,做了一下测试,这里还是将edit: true传递过去
    image.png
  • 然后在接收的界面打印一下参数以及参数类型

image.png

  • 他竟然是个Boolean类型的!!并没有进行类型转换。各位有没有遇到过类似的情况啊

这是两个项目的路由版本,上边这个项目会转化成字符串,下边这个不会
image.png
image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

机场等船 2022-09-19 23:21:49

版本问题,我试了3.5.1是转成字符的,3.1.3是没有转直接使用
你可以看下vue-router源码中resolveQuery部分。从3.4.0开始就转成字符了。
理论上是应该转成字符的,正如我下面所说的,query是拼接在url上的,3.4.0前是直接使用push传递来的参数,但是这样在刷新时会从url解析出query对象就会发现类型又被转成字符了


没有转换的是哪个版本?我这边没有复现。
理论上应该是字符串,因为query就是url上的?后面的参数,这里都是字符串的

已参与了 SegmentFault 思否「问答」打卡,欢迎正在阅读的你也加入。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文