我正在尝试使用timestamp
在TypeScript中将Date
对象从Firestore转换为toDate()
对象。
import { AngularFirestore } from '@angular/fire/firestore';
...
constructor(private database?: AngularFirestore) {...}
...
const someVariable = a.date.toDate();
尽管该功能在开发模式下运行良好,但出现TypeScript编译检查错误。而且由于该错误,我无法构建产品版本(使用ng prod
)。
a.date.toDate()~~~~ src / app / project / some.service.ts:74:36-
错误TS2339:类型“日期”上不存在属性“ toDate”。
任何建议如何解决?
答案 0 :(得分:2)
toDate()在日期,字符串,数字等上不起作用。将您的日期的类型更改为任何用于时间戳。
date: any;
顺便说一句,我通常会在HTML文件中使用toDate()。它会显示错误,但可以编译。键入 any 还将清除html错误。
答案 1 :(得分:1)
该错误告诉您,据TypeScript所知,a.date
已经已经是Date
,而不是Timestamp
。因此,您需要查看a
是什么的类型信息。如果说它的date
属性是Date
,而实际上却是Timestamp
,那就是您需要解决的问题。 (或者,当然,如果a.date
已经是Date
,则不需要对其进行toDate
调用。但是您说这段代码是“在开发模式下工作”,这表明它是真的是Timestamp
。)