简体   繁体   English

如何在 angular 中使用 ngFor 循环迭代数组

[英]How to iterate array using ngFor loop in angular

'arr: { a: string[];b: string[];c: {id: number; name: string; }[]; } '

'''arr= {
a: ['rose', 'kelly', '35'],
b: ['marry', 'hadden', '40'],
c:[
{ id: 1, name: "Mark" },
{ id: 2, name: "John" },
{ id: 3, name: "Franc" },
{ id: 4, name: "Andrew " }
]
}

How to iterate above array using *ngFor loop in Angular'''如何在 Angular''' 中使用 *ngFor 循环迭代上面的数组

*ngFor directive expects the Array object to loop over. *ngFor指令期望Array object 循环。 That's why you're receiving an error.这就是您收到错误消息的原因。

You can use keyvalue pair pipe to loop over this object, basically that will convert an object to an array, which would have key and value in separate object properties. You can use keyvalue pair pipe to loop over this object, basically that will convert an object to an array, which would have key and value in separate object properties.

Since strictTemplate checking, typescript is throwing an error.由于进行了严格模板检查,因此 typescript 正在引发错误。 To fix/suppress that error you can use define type of arr: {[key: string]: any} .要修复/抑制该错误,您可以使用定义类型arr: {[key: string]: any}

TS TS

arr: {[key: string]: any} = {
  a: ...,
  b: ...,
}

HTML HTML

<div *ngFor="let item of arr | keyvalue">
  <b>{{ item.key }}</b>

  <div *ngFor="let val of item.value">
    {{ val.name ?? val }}
  </div>
</div>

Stackblitz堆栈闪电战

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM