this.moment.hours () не является ошибкой функции при изменении часов переменной Moment - PullRequest
0 голосов
/ 25 мая 2019

Я работаю над простым модалом, который используется для создания события, у этого события есть 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

...