我正在使用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。您也可以查看文档。