直到现在我正在使用像这样的momentjs库:
import * as moment from 'moment'; // import moment.
@Component({..});
export class TestClass {
lastUpdated = Date
constructor(private myService: MyService){
this.lastUpdated = this.getCurrentTime(); **// this shows error.. that type string is not assignable to type 'Date'**
}
var getCurrentTime(){
return moment().format('DD MMM YYYY HH:mm:ss');
}
}
上面的代码显示了这个错误:类型字符串不能分配给'日期' **
但是当我使用这一行来代替导入模块时,同样的代码完全正常工作,甚至其他的resturent os
声明var moment:any;
但我可以使用上面的声明,因为它正在使用" var":和'任何' Lint不建议。
为什么getCurrentTime返回String?不应该返回日期
答案 0 :(得分:2)
可以避免通过以下代码再调用一个函数
import * as moment from 'moment'; // import moment.
@Component({..});
export class TestClass {
lastUpdated: string;
constructor(private myService: MyService){
this.lastUpdated = moment(this.lastUpdated).format('DD MMM YYYY HH:mm:ss');
}
}
答案 1 :(得分:1)
“类型字符串不能分配给'Date'类型”
lastUpdated = Date
应为lastUpdated: string
。
修正了其他一些事情:
import * as moment from 'moment'; // import moment.
@Component({..});
export class TestClass {
lastUpdated: string;
constructor(private myService: MyService){
this.lastUpdated = this.getCurrentTime();
}
getCurrentTime(){
return moment().format('DD MMM YYYY HH:mm:ss');
}
}