Angular 4 ng使用HTML循环遍历对象数组

时间:2018-03-17 19:15:10

标签: arrays angular typescript for-loop ngfor

我正在使用Angular 4,我想循环遍历一个对象数组并在Angular Material网格图块中显示信息。我的html(app.component.html)看起来有点像这样

<div class="list" *ngIf="listContacts == true">
 <mat-grid-list cols="3" rowHeight="2:1" *ngFor="let i of contacts">
  <mat-grid-tile>
    <div class="card">
      <img src={{contacts[i].image}} alt="picture">
      <h2>{{contacts[i].name}}</h2>
    </div>
  </mat-grid-tile>
 </mat-grid-list>
</div>

联系人是app.component.ts中的一组对象。联系人中有NINE对象,但为了简单起见,我只在这里放了两个。

export class AppComponent {
// array of contact objects
contacts = [
{
  name: "Robbie Peck",
  image: "src/assets/robbie.jpg",
}, 
{
  name: "Jenny Sweets",
  image: "src/assets/jenny.jpg",
}, 

...

]
}

因此,不是只有九个不同的出现,每个都有自己的信息(通过联系人循环),我只有一个,控制台显示错误,它不识别联系人[i] 。我做错了什么?如何在打字稿(app.component.ts)文件中的contacts对象中找到9&#39,每个都有名称和图像?

1 个答案:

答案 0 :(得分:4)

您不必通过索引,只需使用变量 i 并访问 i.image i.name

<mat-grid-list cols="3" rowHeight="2:1" *ngFor="let i of contacts" >
 <mat-grid-tile>
    <div class="card">
      <img src={{i.image}} alt="picture">
      <h2>{{i.name}}</h2>
    </div>
  </mat-grid-tile>