html - *ngFor-loop som körs fler gånger än en gång
Jag försöker loopa igenom "buttontext" en gång och visa knappar (där antalet knappar är samma som antalet element i den), när användaren klickar på den knappen ska respektive text från "buttontext" visas. Men detta körs "antal element" + 1 gånger.
<div *ngIf="displaynextAnswer" class="row row-thumbs">
<div class="container">
<span class="nav nav-pills" *ngFor="let msg of buttontext; let i=index">
<span class="feedback-op base-margin" style="background-color: #404546;
color:white;" (click)="innerfeedbackfunc(i)">
Answer {{i}}</span>
</span>
</div>
</div>
buttontext hämtar sina data härifrån:
for (const item of Object.entries(result)){
if(typeof item == 'object'){
rec_ans = item[1]["Recommended Answer1"];
for(let i =start; i<=3;i++)
{
if(item[1].hasOwnProperty("Recommended Answer"+i))
{
let messagestobedisplayed = item[1]["Recommended Answer"+i];
if(typeof messagestobedisplayed == 'object')
{
for(var j in messagestobedisplayed){
this.messages.push({ 'text': messagestobedisplayed[j], 'botMessage': true,'displaynextAnswer':true,'image': this.botImage, 'date': this.formatAMPM(new Date()) });
this.buttontext.splice(j,0,messagestobedisplayed[j]);
}
}
else
{
this.messages.push({ 'text': messagestobedisplayed, 'botMessage': true,'displaynextAnswer':true,'image': this.botImage, 'date': this.formatAMPM(new Date()) });
}
}
}
}
}
Jag använder *ngFor för att gå igenom buttontext-arrayen men det jag får är detta:
