Angular12报TS2339: Property 'timestamp'不存在于LogRepair[]如何解决
TS2339报错解决方案
你的报错根本原因是模板内循环变量使用错误:你在*ngFor语法中定义的单条遍历变量名为repair,但后续渲染属性时误用了数组变量repairs。repairs是LogRepair类型的数组,自然不存在timestamp这类单个LogRepair实例才有的属性,因此触发类型错误。
你只需要将模板内所有repairs.xxx的调用修改为repair.xxx即可,修改后的HTML代码如下:
<div> <div *ngFor = "let repair of repairs" class="repair_list"> <div class = "RT">{{repair.name}}</div> <div class = "Repair Type">{{repair.type}}</div> <div class = "Gecko Number">{{repair.phoneID}}</div> <div class = "Warranty Sticker">{{repair.stickerID}}</div> <div class = "Description">{{repair.description}}</div> <div class = "Timestamp">{{repair.timestamp}}</div> </div>
如果修改后仍有报错,可按以下步骤排查:
- 确认所有文件中
LogRepair模型的导入路径、大小写完全匹配,没有拼写错误 - 重启Angular开发服务清除缓存,避免旧的类型校验结果残留
- 若使用IDE开发,可手动重启TypeScript语言服务清除缓存
内容的提问来源于stack exchange,提问作者thebabs
相关产品推荐
相关产品推荐

