javascript - 如何在 Angular 中制作 ngFor 字典?

标签 javascript angular typescript dictionary ngfor

有一个 BrandsByLetter 类:

brandsByLetter: { [id: string] : AutoServiceBrand[]; } = {};

我在 AngularJS 中有这样的构造,我需要在 Angular11 中进行:

<li *ngFor="let (letter, brands) of brandsByLetter">
    {{letter}}
    {{brands}}
</li>

如何在 Angular 中制作“(字母、品牌)”?

最佳答案

您可以使用管道来实现:

<div *ngFor="let item of brandsByLetter | keyvalue">
  {{item.key}}:{{item.value}}
</div>

在您的代码中添加此管道:

@Pipe({ name: 'keys',  pure: false })
    export class KeysPipe implements PipeTransform {
        transform(value: any, args: any[] = null): any {
            return Object.keys(value)//.map(key => value[key]);
        }
    }

这是 Stackblitz 中的一个工作示例:
https://stackblitz.com/edit/angular-ahsvig?file=src%2Fapp%2Fapp.component.ts

关于javascript - 如何在 Angular 中制作 ngFor 字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66338094/

相关文章:

angular - 试图用 ngcc 备份文件覆盖 @angular/cdk/stepper/step-header.d.ts.__ivy_ngcc_bak,这是不允许的

javascript - 如何知道复选框是否被选中?

javascript - Phonegap 应用程序文本和布局太小

javascript - 当wiredep不起作用时该怎么办

javascript - 成功google auth后将用户重定向到Angular路由

javascript - 使用动态函数/可观察引用时 httpClient.get 未定义

javascript - 如何在 typescript 中使用联合类型

typescript - 有没有一种简单的方法来对 typescript 字典进行排序?

javascript - 带有 "Progess/Completion bar"的 ReactJS 可折叠元素

typescript - 这种重载如何在 typescript 中起作用?