Javascript 如何将动态创建的表单字段绑定到Angular 2中的对象?
使用Angular 2,我试图通过为每个属性动态创建输入字段来为任意对象构建通用表单 给定一个对象Javascript 如何将动态创建的表单字段绑定到Angular 2中的对象?,javascript,angular,Javascript,Angular,使用Angular 2,我试图通过为每个属性动态创建输入字段来为任意对象构建通用表单 给定一个对象实体I循环遍历每个属性,使用管道获取属性数组 为每个属性键创建一个字段,然后将其绑定回实体 代码如下: <tr *ngFor="let key of entity | keys"> <td><label for="{{key.key}}">{{key.key}}</label></td> <td><input id
实体
I循环遍历每个属性,使用管道获取属性数组
为每个属性键
创建一个字段,然后将其绑定回实体
代码如下:
<tr *ngFor="let key of entity | keys">
<td><label for="{{key.key}}">{{key.key}}</label></td>
<td><input id="{{key.key}}" type="text" [(ngModel)]="key.value"></td>
</tr>
{{key.key}}
因此,问题在于字段是使用[(ngModel)]=“key.value”
绑定到键的,而不是绑定到实体的
是否有办法将字段绑定到实体
或者是否有其他方法更新实体上的值?使用ngFor
中的索引来绑定实体值
<tr *ngFor="let key of entity | keys;let i = index">
<td><label for="{{key.key}}">{{key.key}}</label></td>
<td><input id="{{key.key}}" type="text" [(ngModel)]="entity[i].value"></td>
</tr>
{{key.key}}
谢谢@Roman,这个答案不太管用,但它让我开始了。我的解决方案是绑定到[(ngModel)]=“entity[key.key]”