我正在尝试使用public class MyBootstrapper : DefaultNancyBootstrapper
{
public MyBootstrapper () : base()
{
JsonSettings.RetainCasing = true;
}
}
循环中的值动态设置名称标签。为id标签分配一个值没问题,但是对于name标签却不起作用。
ngFor
我将<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>
传递给$event
函数的onChange
的{{1}}等于check()
,但是id
始终是空字符串。为什么它们不同,如何动态设置i
?
答案 0 :(得分:3)
您需要像[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项目。请检查一下:
答案 1 :(得分:0)
您可以尝试[name]="i"
<input type="text" id ="{{i}}" (change)="check($event)" [name]="i" [(ngModel)]="s.ZBez">
编辑:对于ID,您可以尝试使用相同的[attr.id]="i"