gpt4 book ai didi

html - 如何使用 ngFor 遍历 Map 并在 Angular 2+ 中按顺序在 html 上显示它们?

转载 作者:行者123 更新时间:2023-12-05 08:40:44 24 4
gpt4 key购买 nike

我正在使用 Angular 7.x。

我已经实现了使用 *ngFor 的代码,它遍历 Map 并在 html 上显示它们

      <mat-list-item *ngFor="let data of map | keyvalue">
<div class="col-md-2">
<p mat-line> {{data.value.name}} </p>
</div>
</mat-list-item>

它成功显示了一个列表,但问题是它没有按顺序显示它们。

例如,如果我将A和B添加到Map中,它显示为

A B

但是,如果我添加另一个 C,则它显示为

一个CB

我希望它是 A B C,这是我插入到 Map 的顺序。

如果我使用 console.log,那么它会按照我插入的顺序显示,但不会显示在 html 上。

我必须使用 MAP,但我不知道如何使用。

请帮助我并提前谢谢你。

最佳答案

The Map object holds key-value pairs and remembers the original insertion order of the keys. Any value (both objects and primitive values) may be used as either a key or a value.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

一种解决方案是执行以下操作:

在您的 TS 中添加此方法:

asIsOrder(a, b) {
return 1;
}

HTML 中将 keyvalue 管道更改为 keyvalue: asIsOrder:

<mat-list-item *ngFor="let data of map | keyvalue: asIsOrder">
<div class="col-md-2">
<p mat-line> {{data.value.name}} </p>
</div>
</mat-list-item>

来源:https://github.com/angular/angular/issues/31420

关于html - 如何使用 ngFor 遍历 Map 并在 Angular 2+ 中按顺序在 html 上显示它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54175734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com