2017-09-16 94 views
0

我試圖在特定測驗中顯示用戶所做的錯誤答案。但它不會在我的HTML中顯示數據。我在這裏做錯了什麼?在數組中顯示值不會顯示在視角中

<ion-slide *ngFor="let incorrect of wrongAnswers;let i=index"> 
    <ion-label>{{i+1}}</ion-label> 
    <h5>{{incorrect.questionA}}</h5> 
    <h5>{{incorrect.choice}}</h5> 
    <h5>{{incorrect.answer}}</h5> 
    <button ion-button (click)="error()"></button> 
</ion-slide> 

我的打字稿:

wrongAnswers: any[] = []; 


if (answer.correct == false) { 
    this.wrongAnswers.push([{ 
    questionA: question.questionText, 
    choice: answer.selected, 
    answer: answer.answer 
    }]); 
} 

在我的控制檯,這是正在顯示的內容:

enter image description here

+0

嘗試刪除'[]'圍繞着你推,即'.push({...})的對象;'。 – Parziphal

回答

1

您正在試圖推動array已經存在的數組,如果你真的想這樣做,使用concat而不是

this.wrongAnswers.concat([{ 
    questionA: question.questionText, 
    choice: answer.selected, 
    answer: answer.answer 
    }]); 

如果你想推一個對象,刪除[],使對象將被推

this.wrongAnswers.push({ 
    questionA: question.questionText, 
    choice: answer.selected, 
    answer: answer.answer 
    }); 
0

陣列基準」不是個

在我的HTML

在使用Array.prototype.push時不會改變,因此angu大變化檢測不知道這些變化。

而且你還向數組中推入一個數組,而不是一個簡單的對象。

使用Array.prototype.concat以將項目添加到數組的時候創建一個新的參考:

this.wrongAnswers = this.wrongAnswers.concat({ 
    questionA: question.questionText, 
    choice: answer.selected, 
    answer: answer.answer 
});