在使用 *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]:
我会在 this.respData.data.entities 对象或数组中得到什么?