2017-01-24 2 views
-1

angularjs에 익숙하지 않습니다.Angularjs 2 중첩 인터페이스

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

HTML : 동적에 대한 * ngFor을하고 난 심지어이 하나

인터페이스

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

모델을 설명하는 방법을 알고 캔트 코드를 살펴주십시오 입력란

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

하지만이 하나

field12 동적 값이 list.fieldName에서 온다 정의되지 않은의 특성 'field12'을 읽을 수 없습니다

같은 오류가 발생합니다. 이 문제를 해결하는 방법을 모르겠습니다. 모든 종류의 솔루션을 높이 평가합니다. 미리 감사드립니다.

+0

어디에서 customFields를 초기화합니까? 그것은 내 인터페이스에서 holeDocument.customFields가 정의되지 않은 –

+0

인데, 내 인터페이스 헤더의 두 번째 줄을보고 첫 번째 줄을 참조하십시오. @ AliBaig – sibi

+0

그건 초기화가 아니라 단지 선언입니다. 내가 볼 수있는 한 = 연산자를 사용하여 customFields에 아무 것도 지정하지 않았습니다. –

답변

-1

예, 개체를 초기화하여 수정했습니다. 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 : 동적 입력 필드

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

답장을 보내 주셔서 감사합니다.