我在VS2015的typescript项目中得到构建错误。应用程序在浏览器中工作正常,但由于这些构建错误,现在我无法发布。
export var AddedFields: Array<Array<Field>[]>[];
myGlobals.AddedFields[1][1] = new Field(newField.id, newField.label, newField.type, 0, 0);
错误TS2322 Build:类型'Field'不能分配给类型'Field[][]'。Projectsangular2 systemjs-dotnet-core-mastersrcTestAngular2wwwrootappcomponentsform-layout.component.ts 40 Build
有人能指出我做错了什么吗?
确实可以使用Array
和[]
标记来定义Typescript中的数组类型,但是通过同时使用两者,你已经有效地声明了一个四维数组。
如果你坚持一种符号,它应该是,对于Array
符号:
export var AddedFields: Array<Array<Field>>;
或[]
符号:
export var AddedFields: Field[][];
export var AddedFields: Array<Array<Field>[]>[];
这里不是数组的数组。它是一个数组的数组的数组的数组的数组的数组的数组
你可能只需要
export var AddedFields: Array<Array<Field>>;