2016-03-08 10 views
5

Ich benutze ngFor loop, um eine Liste mit Schaltflächen zum Verschieben von Objekten zu erstellen. Ich habe versucht, die ngFor Variablen zuerst und zuletzt zu verwenden, um bestimmte Knöpfe zu deaktivieren. Ich finde „erste“ funktioniert nichtAngular 2 - ngFor - lokale Variable "first" funktioniert nicht

<ul> 
<li *ngFor="#hero of heroes; #i=index, #first=first, #last=last"> 
    <button class="btn btn-default btn-lg" [disabled]="first" (click)="moveToTop(hero, i)">Top</button> 
    <button class="btn btn-default btn-lg" [disabled]="first" (click)="moveUp(hero, i)">Up</button> 
    <button class="btn btn-default btn-lg" [disabled]="last" (click)="moveDown(hero, i)">Down</button> 
    <button class="btn btn-default btn-lg" [disabled]="last" (click)="moveToBottom(hero, i)">Bottom</button> 
</li> 

Ich habe ein funktionierendes Beispiel hier Plunker preview

Bin ich dies richtig tun? Ich weiß, ich könnte

[disabled]="i==0" 

tun, aber ich dachte, "zuerst" und "zuletzt" sah eleganter aus. obwohl

Antwort

5

Denn jetzt können Sie [disabled]="i === 0" verwenden, da die lokale Variable first nicht existiert, aber es gibt eine pull request es hinzuzufügen, mergerd noch nicht.

aktualisieren

Der Antrag Pull Referenz oben mit beta.15 gelandet, können Sie das Changelog https://github.com/angular/angular/blob/master/CHANGELOG.md sehen.

Hier ist ein plnkr mit first arbeiten. Sie können die auch sehen.

+0

Entschuldigung für die schlechte Antwort, nicht sicher, wie man es mehr ausarbeitet. –

Verwandte Themen