为什么在使用ngFor时将数组视为对象

时间:2019-01-09 08:25:27

标签: angular

我有包含数组的对象:

output = {
    columns: [
      { column_name: `No. Transaksi`, data_type: `transaction_number` },
      { column_name: `Tanggal Keluar`, data_type: `transaction_date` },
      { column_name: `Jam Keluar`, data_type: `transaction_time` },
      { column_name: `Jumlah`, data_type: `total` },
    ]
}

当我使用ngFor迭代列上的那些项目时,它导致了错误Cannot find a differ supporting object '[object Object]' of type 'object'。我很困惑为什么将该属性视为对象。

我这样输出属性:

<div *ngFor="let column of output.columns">{{ column.column_name }}</div>

在应用程序的最新版本中,它可以正常工作。但是现在我得到了这个错误。我该如何解决?

1 个答案:

答案 0 :(得分:0)

将输出写为

output = [{
    columns: [
      { column_name: `No. Transaksi`, data_type: `transaction_number` },
      { column_name: `Tanggal Keluar`, data_type: `transaction_date` },
      { column_name: `Jam Keluar`, data_type: `transaction_time` },
      { column_name: `Jumlah`, data_type: `total` },
    ]
}]

由于ngFor仅适用于数组,因此请用[]括住输出,使其成为对象数组