vue 带boolean类型的参数跳转路由时,会进行类型转化吗?
- 开发项目的时候,有个页面用到了路由跳转,然后将{edit: true}作为参数传递过去
- 然后在接收页面打印了一下参数以及参数类型
- 这里可以看到传递的edit进行了类型转换,被转换成了string类型。
- 然后我去创建了一个新的项目,做了一下测试,这里还是将edit: true传递过去
- 然后在接收的界面打印一下参数以及参数类型
- 他竟然是个Boolean类型的!!并没有进行类型转换。各位有没有遇到过类似的情况啊
这是两个项目的路由版本,上边这个项目会转化成字符串,下边这个不会
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
版本问题,我试了3.5.1是转成字符的,3.1.3是没有转直接使用
你可以看下vue-router源码中
resolveQuery
部分。从3.4.0开始就转成字符了。理论上是应该转成字符的,正如我下面所说的,
query
是拼接在url
上的,3.4.0前是直接使用push
传递来的参数,但是这样在刷新时会从url
解析出query
对象就会发现类型又被转成字符了没有转换的是哪个版本?我这边没有复现。
理论上应该是字符串,因为query就是url上的?后面的参数,这里都是字符串的