Javascript 如何将动态创建的表单字段绑定到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

使用Angular 2,我试图通过为每个属性动态创建输入字段来为任意对象构建通用表单

给定一个对象
实体
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]”