2017-02-14 4 views
0

Я пытаюсь создать новый экземпляр класса с пустыми значениями, но я борюсь с кодом.Создание нового экземпляра класса в машинописном тексте

Вот мой код файла класса:

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

Вы должны создать constructor в классе MyTimeDefinition, где вы добавите некоторые значения в переменные внутри вашего класса.
Что-то вроде этого:

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

И, как вы увидите, когда вы создаете новый класс интенсивный, вызвав конструктор переменных вашего класса будет не пустым.

+0

Я добавил конструктор в свой класс, как вы сказали, но прямо сейчас я получаю «Невозможно установить свойство« SelectedLanguage »неопределенного» по какой-либо причине, однако согласно VS он должен быть определен. – Nicolas

+1

Поскольку вам нужно сначала создать объект Description, а затем попытаться получить доступ к выделенному языку – Tinwor