2017-11-28 2 views
0

Etwas neu zu Ionic 3 - Ich bin auf der Suche nach einem Array durchlaufen, wenn ich ngFor verwenden. Ich habe die Slice-Methode verwendet, um jeweils ein Element aus dem Array anzuzeigen. Ich suche das nächste Element im Array anzuzeigen, wenn ich die Schaltfläche „Weiter“ klicken“.Looping durch Array mit ngFor Verwendung der nächsten Schaltfläche

<div *ngFor="let reference of content | slice:0:1;"> 
<div> {{reference.item}} </div> 
<div> {{reference.image}} </div> 
<div> {{reference.field2}} </div> 

<button ion button> Next </button> 

Nicht sicher, ob ngFor der beste Ansatz ist, oder wenn es eine bessere Alternative ist. Vielen Dank!

+0

' ts' Code Ihrer Taste? – Sampath

+0

Ich habe derzeit keinen Code - neu zu einem gular/ionic - war nicht sicher, ob Sie es mit einer der ng-Direktiven durchlaufen könnten – cdh429

Antwort

0

Wenn Sie nicht alle Daten als Liste anzeigen möchten, dann benötigen Sie nicht ngFor hier. Sie können Daten nur zeigen, indem sie den Index anzugeben, die auf jedem nächsten Tastenklick erhöht wird.

reference:any; 
currentIndexToShow:number = 0; 

nextButtonClick() { 

    this.currentIndexToShow++; 
    this.reference = content[currentIndexToShow]; 

} 

<div> {{reference?.item}} </div> 
<div> {{reference?.image}} </div> 
<div> {{reference?.field2}} </div> 
+0

Ich bekomme einen Fehler mit Ihrer Syntax. Auch innerhalb der divs - soll es Referenz [0] sein. Item oder wollen wir die? 'S haben. Danke @saj – cdh429

+0

Es gab einige Syntaxprobleme, es ist jetzt korrigiert. Das Symbol '?' ist ein Nulloperator. Wenn also der Verweis null ist, wenn wir reference? .item aufrufen, wird keine Ausnahme ausgelöst, das Ergebnis wird als null zurückgegeben. In der Referenzeigenschaft werden die Daten aus dem Inhalt im Index zugewiesen, so dass keine Referenz [0] benötigt wird. – SAJ

+0

Hmm - es erkennt nicht das "?" neben der Referenz. Außerdem gibt es mir einen "nicht definierten" Fehler, wenn ich "das" nicht setze. vor dem CurrentIndexToShow und der Referenz. – cdh429