2016-03-08 21 views
5

Sto utilizzando il ciclo ngFor per creare un elenco con pulsanti per spostare gli oggetti. Ho tentato di utilizzare prima e dopo le variabili ngFor per disabilitare determinati pulsanti. Sto trovando "prima" non funzionaAngular 2 - ngFor - la variabile locale "first" non funziona

<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> 

ho un esempio di lavoro qui Plunker preview

sto facendo questo in modo corretto? So che potrei fare

[disabled]="i==0" 

ma stavo pensando "prima" e "ultima" sembravano più eleganti.

risposta

5

Per ora è possibile utilizzare [disabled]="i === 0" poiché la variabile locale first non esiste, ma c'è un pull request per aggiungerlo, non ancora fuso.

Aggiornamento

La richiesta di pull di riferimento di cui sopra è atterrato con beta.15, si può vedere il changelog https://github.com/angular/angular/blob/master/CHANGELOG.md.

Ecco uno plnkr con first funzionante. Puoi anche vedere lo documentation.

+0

Ci scusiamo per la scarsa risposta, non so come elaborarlo di più. –