P粉3221067552023-08-26 10:17:11
路由参数可以包含许多具有相同键的值。这就是为什么它可能是字符串数组而不是单个字符串。如果你确定只有一个参数,你可以使用 as string
来告诉打字稿编译器你知道这个变量 100% 是一个 string
而不是 <代码>字符串[]代码>
this.resetPassword(password1.value, password2.value, this.$route.params.id as string, this.$route.params.resetID as string)
如果您将使用 .toString()
并且会有一个像 ["foo", "bar"]
这样的数组,您将得到 "foo ,bar"
作为 .toString()
如果不确定是否是数组,可以检查一下,如果是数组则取第一个值:
let id: string; if (Array.isArray(this.$route.params.id)) { id = this.$route.params.id[0]; } else { id = this.$route.params.id; }