
比如服务器给前端的 json 里面返回了一个 data 结构 json={ data:{ name:hikaru } }
前端定义的 data 结构 type Data={ name:string } const d:Data = json.data 这个时候 d.提示没法出 name ,必须右侧加上 as Data 才会有提示
1 jazzg62 2023 年 5 月 13 日 不应该,重启下 vscode 试试呢 |
2 looking0truth 2023 年 5 月 13 日 你是不是讲反掉了,json 的 type 你给了吗 |
3 CLMan 2023 年 5 月 13 日 你服务器返回的是运行时数据,是`any`类型的,你不用`as`转换,你还能干嘛? 服务器返回的数据不是你自己创建的数据,编译器是没法检查的。 |
4 crysislinux 2023 年 5 月 13 日 via Android 可能你的 tsconfig. json 里的配置认为你这个转换是非法的。你保持左边不变右边 as any 应该也可以 |
5 Danswerme 2023 年 5 月 13 日 你说的这种一般是要用泛型来实现的,类似这种: ``` const res = await http.get<HomeType>("/home"); ``` 看这个帖子: https://juejin.cn/post/7113475007598034951#heading-9 |
6 Leviathann 2023 年 5 月 13 日 不是少了一层 data ? |
7 agdhole 2023 年 5 月 13 日 用 webstorm |
8 lisongeee 2023 年 5 月 13 日  我这边是可以的,你的 json.data 的 type 是什么呢 |
10 AV1 2023 年 5 月 13 日 我试了是正常的。 建议提供完整的可复现示例。 |