javascript - 如何将动态创建的表单字段绑定(bind)到 Angular 2 中的对象?

标签 javascript angular

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

给定一个对象 entity 我循环遍历每个属性,使用管道获取属性数组。

为每个属性 key 创建了一个字段,然后我想将其绑定(bind)回 entity

代码如下:

<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>

所以问题是字段使用 [(ngModel)]="key.value" 绑定(bind)到 keys 而不是 entity.

有什么方法可以将字段绑定(bind)到实体吗?

或者有其他方法可以更新实体的值吗?

最佳答案

ngFor中使用index绑定(bind)实体值。

<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>

关于javascript - 如何将动态创建的表单字段绑定(bind)到 Angular 2 中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41453663/

相关文章:

javascript - 对象的 `constructor` 属性是否与 `instanceOf` 运算符相关

javascript - 所有代码路径不返回值?

c# - 在 c# asp.net 中执行 javascript 后抓取网页

javascript - 使用 jquery load 动态加载页面

angular - 如何在异步管道上使用自定义管道?

angular - 是否可以禁用在 cdkDrag 的子元素上拖动?

css - Ionic 2 动画(使用 Angular2)=> 来自 variable.scss 的颜色, `Failed to execute ' animate' on 'Element' : Partial keyframes are not supported

node.js - Angular 2-Angular cli --构建项目

javascript - 在 Internet Explorer 11 的 iframe 中发布发布表单

javascript - JSON无效字符错误