[英]How to set the name tag in a ngFor* loop dynamically?
我正在尝试使用ngFor
循环中的值动态设置名称标签。 为id标签分配一个值没问题,但是对于name标签来说,它是行不通的。
<table class="compactTable">
<tr *ngFor="let s of ps.State; let i = index;" >
<td class="alignRight" width="15%">
<input type="text" id ="{{i}}" (change)="check($event)" name ="{{i}}" [(ngModel)]="s.ZBez">
</td>
</tr>
</table>
我将onChange
传递给check()
函数的$event
具有一个等于i
的id
,但name
始终是一个空字符串。 为什么它们不同,如何动态设置name
?
您需要像[attr.ATTR_NAME]
一样使用它,并且不要使用大括号。
<input type="text" [attr.id]="i" (change)="check($event)" [attr.name]="i" [(ngModel)]="s.ZBez">
您可以查看有关模板语法的官方文档以了解更多信息:
https://angular.io/guide/template-syntax
更新
正如@ConnorsFan在评论中指出的那样,属性绑定也应该起作用。 我创建了一个具有各种可能性的stackblitz项目。 请检查一下:
您可以尝试[name]="i"
<input type="text" id ="{{i}}" (change)="check($event)" [name]="i" [(ngModel)]="s.ZBez">
编辑:对于ID,您可以尝试相同的[attr.id]="i"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.