使用*ngFor

问题描述 投票:0回答:1

在使用 *ngFor 迭代对象时,我陷入了如何在 Angular 中获取对象的键和值的问题。

界面:

export interface CustomColumn {
    [key: string]: boolean
}

AppComponent.ts

export class AppComponent {
  service = inject(DataService);
  displayedColumns: CustomColumn[];
  respData = {} as ResponseData;
  ...

  async fetchServiceDatails(criteria: string) {
    await this.service.getDatails(criteria).subscribe({
      next: (resp) => {
        this.respData = resp;
        if (this.respData && this.respData.data) {
          this.displayedColumns = Object.entries(this.respData.data.entities).map(function (entry) {
            let customColumn: CustomColumn = {};
            customColumn = {
              [entry]: true
            };
            return customColumn;
          });
        }
      },
      error: (e) => {
        console.log('Error in fetching serviceDetails: ', e);
      }
    });
  } 
}

AppComponent.html

    <ul class="dropdown-menu checkbox-menu allow-focus" aria-labelledby="dropdownMenu2">
        <li *ngFor="let item of displayedColumns | keyvalue">
            <label>
              <input type="checkbox" value="{{item.key}}"> {{item.key}}
            </label>
        </li>
    </ul>

但是我得到的是输出中的 [object Object]:

  • [对象对象]
  • [对象对象]
  • ...
angular typescript
1个回答
0
投票

我会在 this.respData.data.entities 对象或数组中得到什么?

© www.soinside.com 2019 - 2024. All rights reserved.