更改Moment变量的小时数时this.moment.hours()不是函数错误

时间:2019-05-25 11:12:12

标签: angular typescript momentjs

我正在研究用于创建事件的简单模式,该事件具有startDate和endDate。在模式中,我使用带有单独的时间和日期选择器的mat-form-field,在保存表单时要将其组合为Moment。

两个日期均为Moment格式,并用NgModel绑定到日期选择器,我制作了startTimeendTime日期变量使用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!');
            });
        }
    }

尝试将时间选择器中的变量添加到它们各自的startDateendDate变量中时,出现此错误:

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

0 个答案:

没有答案