在VS2015中分配双维数组时出现TypeScript构建错误

时间:2016-10-10 07:20:43

标签: angular multidimensional-array typescript

我在VS2015中的typescript项目中遇到了构建错误。该应用程序在浏览器中工作正常,但由于这些构建错误,我现在无法发布。

export var AddedFields: Array<Array<Field>[]>[];

myGlobals.AddedFields[1][1] = new Field(newField.id, newField.label, newField.type, 0, 0);

错误是

错误TS2322构建:类型'字段'不能分配给'Field [] []'类型。 \ Projects \ angular2-systemjs-dotnet-core-master \ src \ TestAngular2 \ wwwroot \ app \ components \ form-layout.component.ts 40 Build

有人可以确定我做错了什么吗?

2 个答案:

答案 0 :(得分:2)

Array[]符号确实可用于在Typescript中定义数组类型,但通过同时使用这两种符号,您已经有效地声明了一个4维数组。

如果你坚持使用一种符号,那么对于Array符号应该是:

export var AddedFields: Array<Array<Field>>;

[]符号:

export var AddedFields: Field[][];

答案 1 :(得分:1)

export var AddedFields: Array<Array<Field>[]>[];

这里有的不是数组数组。 它是一组数组arrray数组(可能)。

你可能只需要

export var AddedFields: Array<Array<Field>>;