我正在研究用于创建事件的简单模式,该事件具有startDate和endDate。在模式中,我使用带有单独的时间和日期选择器的mat-form-field,在保存表单时要将其组合为Moment。
两个日期均为Moment
格式,并用NgModel
绑定到日期选择器,我制作了startTime
和endTime
日期变量使用NgModel
的时间选择器。
选择时间和日期都很好,我可以记录选择时间和日期后返回的正确值。
这是我的.ts课,我省略了一些与问题无关的部分:
export class CreateOrEditEventComponent extends AppComponentBase implements OnInit {
startTime: Date = new Date();
endTime: Date = new Date();
constructor(
injector: Injector,
private _eventService: EventServiceProxy,
private _dialogRef: MatDialogRef<CreateOrEditEventComponent>
) {
super(injector);
// Initialize the dates here because to make sure they are not undefined...
this.event.startDate = moment();
this.event.endDate = moment();
}
save() {
// create the event
this.event.startDate.hours(this.startTime.getHours()).minutes(this.startTime.getMinutes());
this.event.endDate.hours(this.endTime.getHours()).minutes(this.endTime.getMinutes());
this._eventService.create(this.event).subscribe(result => {
this.notify.success('Event is made!');
});
}
}
尝试将时间选择器中的变量添加到它们各自的startDate
和endDate
变量中时,出现此错误:
this.event.startDate.hours is not a function at
CreateOrEditEventComponent.push../src/app/events/create-or-edit-
event/create-or-edit-event.component.ts.CreateOrEditEventComponent.save
这被抛出到save()
方法的行中,我想将timepicker变量中的小时和分钟与我将要创建的Event
对象中的日期相结合。
我也曾尝试制作用于时间选择器Moments
的变量,但是在尝试从中获取小时和分钟时却遇到了相同的错误。所以我暂时将它们切换为“日期”。无法使用this.event
日期变量来完成此操作,因为它希望这些变量为Moments