我有一个数组,我想迭代所有元素。问题很简单:ngFor不会迭代所有数组,而只获取第一个元素。
代码是:
TS
alertas: any;
this.id = this.route.snapshot.paramMap.get("id");
if (this.id) {
this.graphCtrl.getMeter(this.id).subscribe(
response => {;
this.alertas = response["body"]["alarmasActivas"];
},
error => {
console.log(error);
}
);
HTML
<ol id="firstLink" class="collapse " *ngFor="let alert of alertas">
<li>{{alert.id}} ({{alert.fechaInicio | date:'dd/MM/yyyy HH:mm:ss'}} - {{alert.fechaFin | date:'dd/MM/yyyy HH:mm:ss'}})</li>
</ol>
数组
body:
alarmasActivas: Array(8)
0: {id: 161, fechaInicio: 1561717685225, fechaFin: null, alarma: null, idDatameter: 6}
1: {id: 162, fechaInicio: 1561717685227, fechaFin: null, alarma: null, idDatameter: 6}
2: {id: 163, fechaInicio: 1561717685229, fechaFin: null, alarma: null, idDatameter: 6}
3: {id: 164, fechaInicio: 1561717685230, fechaFin: null, alarma: null, idDatameter: 6}
4: {id: 165, fechaInicio: 1561717685230, fechaFin: null, alarma: null, idDatameter: 6}
5: {id: 166, fechaInicio: 1561717685231, fechaFin: null, alarma: null, idDatameter: 6}
6: {id: 167, fechaInicio: 1561717685232, fechaFin: null, alarma: null, idDatameter: 6}
7: {id: 168, fechaInicio: 1561717685233, fechaFin: null, alarma: null, idDatameter: 6}
length: 8
__proto__: Array(0)
consumoMedioDiario: "0,000"
JSON.stringfy
[{"id":161,"fechaInicio":1561717685225,"fechaFin":null,"alarma":null,"idDatameter":6},{"id":162,"fechaInicio":1561717685227,"fechaFin":null,"alarma":null,"idDatameter":6},{"id":163,"fechaInicio":1561717685229,"fechaFin":null,"alarma":null,"idDatameter":6},{"id":164,"fechaInicio":1561717685230,"fechaFin":null,"alarma":null,"idDatameter":6},{"id":165,"fechaInicio":1561717685230,"fechaFin":null,"alarma":null,"idDatameter":6},{"id":166,"fechaInicio":1561717685231,"fechaFin":null,"alarma":null,"idDatameter":6},{"id":167,"fechaInicio":1561717685232,"fechaFin":null,"alarma":null,"idDatameter":6},{"id":168,"fechaInicio":1561717685233,"fechaFin":null,"alarma":null,"idDatameter":6}]
那么,这段代码有什么问题呢?
答案 0 :(得分:4)
我认为您需要将*ngFor
与<li>
一起使用,而不是<ol>
。之前,您为数组的每个元素创建了一个不同的列表。使用更新的代码,您将获得1个数组所有元素的列表
<ol id="firstLink" class="collapse " >
<li *ngFor="let alert of alertas">
{{alert.id}} ({{alert.fechaInicio | date:'dd/MM/yyyy HH:mm:ss'}} - {{alert.fechaFin | date:'dd/MM/yyyy HH:mm:ss'}})
</li>
</ol>