angular - Angular 中的 mat-list 不显示任何名称
问题描述
我有一个组件可以生成一个列表,其中包含数组中某些值的名称。问题是:列表不显示任何内容,即使数组中有 20 个值。
TS:
export class ListaEventiComponent implements OnInit {
results:EventoServer[] = []
constructor( public dialogRef: MatDialogRef<ListaEventiComponent>,
@Inject(MAT_DIALOG_DATA) public data:EventoServer[] ) {
this.results = data
console.log(this.results)
}
ngOnInit(): void {
}
}
HTML:
<div class="row d-flex justify-content-center">
<mat-list>
<mat-list-item *ngFor="let evento of results | keyvalue">
{{evento.descrizione}}
</mat-list-item>
</mat-list>
</div>
解决方案
我在这里看到了多个问题。
keyValuePipe
当结果已经是一个数组时,为什么需要 a ?KeyValuePipe
当我们想要迭代一个对象或地图时应该使用它。- 由于您使用
keyValuePipe
angular 会将您的数组转换为键,键的值是数组索引,值是该索引处数组中的值。这不是必需的。 - 使用时
keyValuePipe
,我们需要访问数据为evento.key
或evento.value
。{{evento.descrizione}}
这可能是未定义且屏幕上未显示任何内容的原因。
所以只需删除表达式KeyValuePipe
中的。ngFor
它应该工作。
推荐阅读
- javascript - 无法使用 css 覆盖外部 javascript
- java - 当在 db 中找到的结果小于 10 时,Java 分页页面返回 null
- html - DIV 周围的部分 CSS 边框
- api - 我厌倦了使用 auth_email_signup_user 在 Moodle 中创建一个新用户,但我不确定如何格式化请求
- django - Stripe Django 没有这样的价格
- java - 如何使用 Mockito 在另一个函数中模拟 `Files.exists()` 或 `file.exists()`
- asp.net-core - ASP.NET Core 5 主机到底是什么?
- python - 删除列表的元素
- r - 计算 R 中每周的中位数
- windows - 有没有办法在`powershell`中关闭`ECHO`用户输入