Я работаю над простым модалом, который используется для создания события, у этого события есть startDate и endDate. В модале я использую поле mat-form с отдельными указателями времени и даты, которые я хочу объединить в момент при сохранении формы.
Обе даты имеют формат 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