场景
let { poolId, chaId, feeUnit, duration } = router.currentRoute.value.query
对于以上这行代码,TS会将每个参数的类型为string|string[]
在项目应用中,我的参数类型都是string
, 所以在对这些参数赋值时,TS一直提醒
分析
当url上有多个同名query,router.currentRoute.value.query会返回一个数组,也就是为什么TS会有string[]
判断的原因。
// www.anyurl.com?name=123&name=456
console.log(router.currentRoute.value.query) // ['123', '456']