起初,我有一個看起來像這樣初始化自定義類
import { CustomDate } from './../models/customDate';
export class DateService {
datePickerResultToDate(date: Date) {
var myDate: CustomDate;
var month_str: string;
switch (date.getMonth()) {
case 0:
month_str = 'Jan';
break;
case 1:
month_str = 'Feb';
break;
// etc...
default:
month_str = 'Some Error';
}
myDate.day = date.getDate();
myDate.month = date.getMonth();
myDate.year = date.getFullYear();
myDate.customDateString = date.getDate().toString() + ' ' + month_str + ' ' + date.getFullYear().toString();
return myDate
}
}
其中
export class CustomDate {
day: number;
month: number;
year: number;
customDateString: string;
}
在執行時,我收到此錯誤
error_handler.js功能:54 EXCEPTION:./TimeSheetComponent類中的錯誤TimeSheetComponent - 內聯模板:16:8原因:無法設置未定義的屬性'day'
所以我想我需要改變,以
var myDate: CustomDate = {
day: 0,
month: 0,
year: 0,
customDateString: ''
}
,並修復它。我的問題是,每次我想使用它時,初始化myDate ti這些值似乎很奇怪。有沒有一種方法來簡化這一點,以便當我想使用myDate時,它已經被初始化並可以使用?或者我每次都必須這樣做?