在VS2015中分配二维数组时,TypeScript构建错误



我在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>>;

相关内容

  • 没有找到相关文章

最新更新