Angularjs 2嵌套接口

时间:2017-01-24 11:22:35

标签: javascript angular angular-ngmodel

对angularjs来说是新手。请看代码我甚至不知道如何解释这个

接口

export interface ScanuploadInterface {
   docVia string;customFields:Array<any>;
   associateDocs :Array<any>;
}

型号

import {ScanuploadInterface} from '../../interfaces/scanupload.interface'; 
holeDocument = <ScanuploadInterface>{}; 

html:为动态输入字段执行 * ngFor

<input id="{{list.fieldName}}" name="{{list.fieldName}}" type="{{list.fieldType}}" class="form-control"  [(ngModel)]="holeDocument.customFields[list.fieldName]" >

但是这个会抛出错误

  

无法读取属性&#39; field12&#39;未定义的

field12是来自list.fieldName的动态值。 我不知道如何解决这个问题。任何类型的解决方案表示赞赏。提前谢谢。

1 个答案:

答案 0 :(得分:0)

是的,我通过在 ngOnInit 中初始化对象来修复,它可以工作。 代码:   界面:

export interface ScanuploadInterface {
   docVia string;customFields:any;
   associateDocs :any;
}

型号:

import {ScanuploadInterface} from '../../interfaces/scanupload.interface'; 
holeDocument = <ScanuploadInterface>{}; ngOnInit(){this.holeDocument.customFields = {};
        this.holeDocument.associateDocs = {};}

html:为动态输入字段执行 * ngFor

<input id="{{list.fieldName}}" name="{{list.fieldName}}" type="{{list.fieldType}}" class="form-control"  [(ngModel)]="holeDocument.customFields[list.fieldName]" >

感谢您的回复。