角度 2 - ngFor - 局部变量 "first" 不起作用



我正在使用ngFor loop创建一个带有按钮的列表来移动对象。 我尝试首先和最后一个使用 ngFor 变量来禁用某些按钮。 我发现"第一"不起作用

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

我这里有一个工作示例 Plunker 预览

我这样做是否正确? 我知道我能做到

[disabled]="i==0"

但我认为"第一个"和"最后一个"看起来更优雅。

现在您可以使用[disabled]="i === 0",因为局部变量first不存在,但是有一个拉取请求来添加它,但尚未合并。

更新

上面的拉取请求引用以 beta.15 登陆,您可以看到更改日志 https://github.com/angular/angular/blob/master/CHANGELOG.md。

这是一个first工作的 plnkr。您也可以查看文档。

最新更新