2017-02-14 6 views
0

빈 값을 사용하여 클래스의 새 인스턴스를 만들려고하지만 코드에 어려움을 겪고 있습니다.typescript에서 클래스의 새 인스턴스 만들기

여기 내 클래스 파일의 코드입니다 :

export class MyTimeDefinition { 
    RequestCodes: Array<RequestCodes>; 
    BalanceCodes: Array<BalanceCodes>; 
    ID: number; 
    Description: { 
     SelectedLanguage: number, 
     Values: { 
      LanguageID: number, 
      ValueID: number, 
      Value: string 
     }[] 
    }; 
    IsDataLoaded: boolean; 
    TypeName: string; 
} 

export interface RequestCodes { 
    ID: number; 
    StringValue: string; 
} 

export interface BalanceCodes { 
    ID: number; 
    StringValue: string; 
} 

내 구성 요소에 나는이 같은 클래스의 새로운 인스턴스를 만들려고 :

//Create New MyTime-Definition 
public createNewMyTimeDefinition() { 
    let newMyTimeDefinition = new models.MyTimeDefinition(); 
    console.log(newMyTimeDefinition); 
} 

내 CONSOLE.LOG의 결과는 MyTimeDefinition {}입니다 빈 객체뿐만 아니라 클래스의 모든 속성을 가진 변수 newMyTimeDefinition을 어떻게 만들 수 있습니까?

답변

0

MyTimeDefinition 클래스에 constructor을 만들어 클래스의 변수에 값을 추가해야합니다. 이 같은
뭔가 : 당신이 볼 당신이 생성자를 호출하여 강렬한 새로운 클래스를 만들 때

export class MyTimeDefinition { 
    ... 
    //Some other variable 
    constructor(){ 
     this.mystringvariable = "my string value"; 
    } 
} 

그리고, 클래스의 변수는 비어 있지 될 것입니다.

+0

당신이 말한 것처럼 클래스에 생성자를 추가했지만 지금은 "정의되지 않은"의 SelectedLanguage '속성을 설정할 수 없습니다. "라는 이유로 VS에서 정의해야합니다. – Nicolas

+1

설명 개체를 먼저 인스턴스화하고 SelectedLanguage에 액세스하려고해야하므로 – Tinwor

관련 문제