2017-12-21 13 views
0

저는 Angular2를 학습하는 과정에서 템플릿 중심 양식을 만들었습니다. 양식을 표시하려고 할 때 다음과 같은 오류 메시지가 나타납니다. "정의되지 않은 속성 'FirstName'을 읽을 수 없습니다., 클래스 선언시 비즈니스 개체 (작업자)를 초기화했습니다. 생성자에서 초기화하더라도 구성됩니다. ("의지"버전) 내 코드를 참조하십시오 html로 (EditWorker.component.html) :각도 2로 초기화되었지만 정의되지 않은 속성의 <propety Name>을 읽을 수 없습니다

<input id="firstNameId" type="text" [(ngModel)]= worker.FirstName ... /> 

EditWorker.component.ts :

export class EditWorker 
{ 
    constructor(){} 
    worker : Worker = new Worker(); 

Worker.model.ts :

export class Worker implements IWorker{ 
... 
FirstName:string; 
... 
constructor(){} 

여기서 내가 무엇을 놓치고 있습니까?

답변

1

당신은

worker : Worker 
constructor(){ 
    this.worker = new Worker(); 
} 
+0

Nop, 시도해보기 전에 시도해보십시오. 도움이되지 않습니다. –

+0

@GuyE 잘 작동합니다. – Sajeetharan

+0

OK - 고마워. 제대로 작동해야한다는 것을 알고 있습니다. 응용 프로그램이 부트 스트래핑하는 방식에 문제가 있었을 것입니다. 부트 스트립 된 방식으로 변경했습니다 (관심이있는 구성 요소에 직접 연결됨). 감사합니다 @ Sajeetharan –

0

내가 초기화 솔루션이 작동한다는 것을 알고 있어요 생성자 내부에서 인스턴스화 할 필요가있다. 응용 프로그램이 부트 스트래핑하는 방식에 문제가 있었을 것입니다. 부트 스트립 된 방식으로 변경했습니다 (관심이있는 구성 요소에 직접 연결됨). 모든

0

당신이 worker.FirstName노동자를 변경하려고 않은 감사?

<input id="firstNameId" type="text" [(ngModel)]= worker?.FirstName ... /> 

.FirstName?

+0

네, 맞습니다 -이 검사는 일찍 이루어져야하지만, 문제는 잘못된 구성 요소와 HTML 파일 사이에 바인딩되었습니다. –

+0

잘 알고 있습니다. 당신은 해결책을 찾았습니다. –