ngModel双向绑定嵌套* ngFor in angular

时间:2017-08-28 05:09:22

标签: html angular

我的JSON看起来像:

 "assets" : [ 
        {
            "resourceName" : "keyboard",
            "characteristics" : {
                "serialNo" : "abc123",
                "brand" : "DELL"
            }
        }, 
        {
            "resourceName" : "Domain Account"
        }
    ]

我正在执行双向绑定,以html格式显示serialNo和品牌值作为输入。这是我的html输入代码

<table border="0">
   <tr *ngFor="let r of assets; let i=index">
          <td>{{r.resourceName | uppercase}} :</td>
          <td *ngFor="let key of r.characteristics | keys;let in=index; trackBy:keys" >
   {{key | uppercase}}:
   <input name="r.characteristics[key]" value="r.characteristics[key]" [(ngModel)]="r.characteristics[key]">&nbsp;&nbsp;
             </td>
            </tr>
     </table>

在我的表单中,对于两个输入字段,我得到的值是DELL,这是品牌的价值。我想在serialNo字段中显示“abc123”,在品牌字段中显示DELL。有关确切的问题说明,请参阅plnkr。谢谢。

1 个答案:

答案 0 :(得分:0)

首先,我没有在您的代码段中看到管道composer update,它应该如下所示:

keys

此外,应正确设置name属性:

<强> HTML:

@Pipe({ name: 'keys',  pure: false })

export class KeysPipe implements PipeTransform {
    transform(value: any, args: any[] = null): any {
        return Object.keys(value)
    }
}

plunker