【发布时间】:2018-11-21 06:48:53
【问题描述】:
假设我在 *ngFor 循环中创建标签和表单字段,如下所示:
app.component.ts
export class AppComponent {
items = ['aaa', 'bbbbbb', 'ccccccccc']
}
app.component.html
<div class='form'>
<ng-container *ngFor="let item of items">
<label>{{item|uppercase}}:</label>
<input [value]="item"/>
</ng-container>
</div>
(在 StackBlitz 上查看:https://stackblitz.com/edit/angular-ptwq6t)
有没有一种方法可以清晰地将这些“动态”标签和输入相互关联?如果我这样做:
<label for="field" >{{item|uppercase}}:</label>
<input id="field" [value]="item"/>
Angular 只是逐字重复for 和id 属性,所有标签都指向第一个输入字段。
有什么方法可以使用 Angular 的组件标识,还是我坚持自己生成 UUID,或者自己保证 ID 的唯一性?
我不能将输入嵌套在标签内,因为我必须重用一些已经实现的 CSS,这些 CSS 并不期望这种结构,但仍然希望拥有适当的标签带来更好的可用性。
【问题讨论】:
标签: javascript angular forms typescript