起初,我有一个看起来像这样初始化自定义类
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时,它已经被初始化并可以使用?或者我每次都必须这样做?