我有一个简单的ngFor
循环,它也跟踪电流index
.我想将该index
值存储在属性中,以便我可以打印它.但我无法弄清楚它是如何工作的.
我基本上有这个:
<ul *ngFor="#item of items; #i = index" data-index="#i">
<li>{{item}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想存储#i
属性中的值data-index
.我尝试了几种方法,但没有一种方法有效.
我在这里有一个演示:http://plnkr.co/edit/EXpOKAEIFlI9QwuRcZqp?p = preview
如何将index
值存储在data-index
属性中?
Thi*_*ier 838
我会使用此语法将索引值设置为HTML元素的属性:
<ul>
<li *ngFor="let item of items; let i = index" [attr.data-index]="i">
{{item}}
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
这是更新的plunkr:http://plnkr.co/edit/LiCeyKGUapS5JKkRWnUJ?p = preview .
更新最近的角度2版本
您必须使用let
声明值而不是#
.
<ul>
<li *ngFor="#item of items; #i = index" [attr.data-index]="i">
{{item}}
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
Leo*_*Leo 260
在Angular 5/6/7中:
<ul>
<li *ngFor="let item of items; index as i">
{{i+1}} {{item}}
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
(参见局部变量)
Wes*_*zee 97
仅仅是对此的更新,Thierry的答案仍然是正确的,但Angular2已经对以下内容进行了更新:
<ul *ngFor="let item of items; let i = index" [attr.data-index]="i">
<li>{{item}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
现在#i = index
应该是let i = index
编辑/ UPDATE:
本*ngFor
应该是你想要的foreach的元素,所以在这个例子中它应该是:
<ul>
<li *ngFor="let item of items; let i = index" [attr.data-index]="i">{{item}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
编辑/ UPDATE
Angular 5
<ul>
<li *ngFor="let item of items; index as i" [attr.data-index]="i">{{item}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
mon*_*ica 48
我认为它之前已经得到了回答,但如果你填充无序列表只是一个修正,那么*ngFor
你想要重复的元素就会出现.所以应该是最好的<li>
.此外,Angular2现在使用let来声明变量.
<ul>
<li *ngFor="let item of items; let i = index" [attr.data-index]="i">
{{item}}
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
Alf*_*Moh 19
其他答案是正确的,但你可以[attr.data-index]
完全省略,只是使用
<ul>
<li *ngFor="let item of items; let i = index">{{i + 1}}</li>
</ul
Run Code Online (Sandbox Code Playgroud)
您可以直接使用[attr.data-index]将索引保存到 data-index 属性,该属性在 Angular 版本 2 及更高版本中可用。
<ul*ngFor="let item of items; let i = index" [attr.data-index]="i">
<li>{{item}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
小智 9
使用 laravel 分页
file.component.ts file
datasource: any = {
data: []
}
loadData() {
this.service.find(this.params).subscribe((res: any) => {
this.datasource = res;
});
}
html file
<tr *ngFor="let item of datasource.data; let i = index">
<th>{{ datasource.from + i }}</th>
</tr>
Run Code Online (Sandbox Code Playgroud)
添加这个迟到的答案是为了展示一个大多数人都会遇到的案例。如果您只需要查看列表中的最后一项是什么,请使用last
关键字:
<div *ngFor="let item of devcaseFeedback.reviewItems; let last = last">
<divider *ngIf="!last"></divider>
</div>
Run Code Online (Sandbox Code Playgroud)
这会将分隔器组件添加到除最后一个之外的每个项目。
由于下面的评论,我将添加ngFor
可以别名为局部变量的其余导出值(如文档中所示):
归档时间: |
|
查看次数: |
687811 次 |
最近记录: |