我有一个从类/模型(projInfo)中获取数据的组件,包括日期对象。 我需要使用格式化的日期(日/月/年)的不同部分,以便我需要将它们分解并放入数组中。
我似乎无法将Date对象解析为string []类型。这是我所拥有的:
public _startDate = this.projInfo.startdato; //.toString();
@Input()
set startDate(startDate: string) {
// remove commas then split into array
const d: string = this.startDateFormat.replace(',', '');
this._startDate = d.split(' ');
}
最后一行上的“ this._startDate”提供了错误Type 'string[]' is not assignable to type 'string'
。
我该如何解决?很难找到答案,因为我认为错误太大。
答案 0 :(得分:0)
初始化类变量并为其分配值时,例如
public _startDate = this.projInfo.startdato;
,并且this.projInfo.startdato具有字符串类型,打字稿编译器还将_startDate的类型也假定为字符串。 由于字符串的split方法:String.prototype.split()将返回编译器抱怨的数组。
您必须确定_startDate变量应为哪种类型。我不知道this.projInfo.startdato是什么,所以我不能为您提供任何解决方案。
通常,您可以使用以下类型来初始化变量:
public _startDate: Array<string> = [this.projInfo.startdato];
打字稿中的打字工作就像
this._startDate = <string> d.split(' '); // I guess this still won't work in this case