'Date' 类型的参数不能分配给 'string' 类型的参数
Argument of type 'Date' is not assignable to parameter of type 'string'
我正在从事 Angular2-Meteor 项目,我得到了这个
Argument of type 'Date' is not assignable to parameter of type
'string'.
我编写此函数以设置日期值时出错。
start: startOfDay(new Date(attendance.dayAt)),
我已尝试将类型设置为 Date 但不起作用 我该如何解决此错误?
我遇到了类似的问题。
经过研究,我发现了三个有用的链接:
然后我所做的是在 "export class" 组件中将我的变量声明为 Date 类型,如下所示:
start: Date
然后在一个函数中我像这样使用它来填充日期变量:
start = new Date(Date.now());
根据您收到的错误判断,我假设您的函数 "startOfDay()" 正在返回一个字符串,因此您必须按如下方式更改代码。
start: new Date(startOfDay(new Date(attendance.dayAt)))
原因是,如果 "start" 是一个日期,那么您必须使用函数 new Date() 为其指定一个日期。 Date 然后将字符串作为输入,returns 一个日期并将其分配给变量 "start"。希望这有帮助:)
我遇到这样一种情况,其中日期值作为 JSON 字符串从 Web 服务返回,并且日期被转换为打字稿中的日期类型 属性。这会导致在编译期间显示“Type 'string' is not assignable to type 'Date'”错误。
我发现的一种解决方法是将客户端 属性 定义为 'any' 类型(而不是 :Date)。这允许 JSON 很好地转换为日期,并且在编译期间不会显示错误。
如果您从 API 中检索字符串形式的日期,您需要从中转换 angular 日期字段:
getUser(id: number): Observable<User> {
return this.http.get<User>(this.baseUrl + 'users/' + id.toString())
.pipe(
map( user => {
user.lastActive = new Date(user.lastActive);
return user;
})
);
}
我正在从事 Angular2-Meteor 项目,我得到了这个
Argument of type 'Date' is not assignable to parameter of type 'string'.
我编写此函数以设置日期值时出错。
start: startOfDay(new Date(attendance.dayAt)),
我已尝试将类型设置为 Date 但不起作用 我该如何解决此错误?
我遇到了类似的问题。
经过研究,我发现了三个有用的链接:
然后我所做的是在 "export class" 组件中将我的变量声明为 Date 类型,如下所示:
start: Date
然后在一个函数中我像这样使用它来填充日期变量:
start = new Date(Date.now());
根据您收到的错误判断,我假设您的函数 "startOfDay()" 正在返回一个字符串,因此您必须按如下方式更改代码。
start: new Date(startOfDay(new Date(attendance.dayAt)))
原因是,如果 "start" 是一个日期,那么您必须使用函数 new Date() 为其指定一个日期。 Date 然后将字符串作为输入,returns 一个日期并将其分配给变量 "start"。希望这有帮助:)
我遇到这样一种情况,其中日期值作为 JSON 字符串从 Web 服务返回,并且日期被转换为打字稿中的日期类型 属性。这会导致在编译期间显示“Type 'string' is not assignable to type 'Date'”错误。
我发现的一种解决方法是将客户端 属性 定义为 'any' 类型(而不是 :Date)。这允许 JSON 很好地转换为日期,并且在编译期间不会显示错误。
如果您从 API 中检索字符串形式的日期,您需要从中转换 angular 日期字段:
getUser(id: number): Observable<User> {
return this.http.get<User>(this.baseUrl + 'users/' + id.toString())
.pipe(
map( user => {
user.lastActive = new Date(user.lastActive);
return user;
})
);
}