为什么类型zzz无法分配给类型(zzz&NgIterable <xxx>)|未定义空值

时间:2020-09-19 22:47:56

标签: angular typescript ngfor

在Angular 9中为什么收到此消息: 类型项目不能分配给类型(Items&NgIterable)|未定义空

模型正确。我没有数据错误。 该代码有效,但仍然收到此打字稿警告。

myData的模型如下:

interface Item {
  url: string;
  label: string;
}

export interface Items {
  [key:number]: Item ;
}

我的HTML:

<ng-container *ngFor="let card of myData"><!-- here I get the warning -->
some content
</ng-container>

已添加:我忘了添加示例数据以使其更加清楚。 它是这样的数组:

[
    {
      url: 'todo',
      label: 'Rekeningnummer'
    },
    {
      url: 'todo',
      label: 'Postadres'
    }] 

1 个答案:

答案 0 :(得分:1)

我通过使用Item []类型而不是Items修复了它。

myData: Item[] = [...]

我读到[key:string]:T形式的索引可以被视为总是可选的。看来我不能使用?使数组可能为空。

export interface Items {
  [key:number]?: Item ;
}