【发布时间】:2018-09-30 03:45:03
【问题描述】:
当我使用浏览器字段输入 URL 时,参数被转换为字符串,而不是整数,例如/user/1 返回{id: "1"}。但是,当使用this.$route.push({}) 时,参数正确地转换为整数{id: 1}。
这种行为是有意的吗?如果没有,我该如何解决?
【问题讨论】:
-
嗯,url 是字符串,js 值是你使用的任何值类型;你确定
this.$route.push无论如何都不会将任何和所有参数转换为 str - 因为它模仿带有 url 的导航 -
push()不不转换任何类型。我已经使用整数和字符串进行了测试。使用this.$router.push({name:'user', params: { id: 1 }});将产生$route.params.id = 1,使用this.$router.push({name:'user', params: { id: "1" }});将产生$route.params.id = "1"。 -
@birdspider - 是的,但是其他一些框架能够处理这个问题,你可以用很少的额外语法指定一个参数类型
标签: vue.js vue-router