类型'DateInput'的参数不能分配给类型'Date'的参数。

问题描述 投票:0回答:1

我用的是 全历我想用我的本地模型代替fullcalendar的模型,当我试图为我自己的模型创建新的实例时,它说:"'DateInput'类型的参数不能分配给'Date'类型的参数。

'DateInput'类型的参数不能分配给'Date'类型的参数。

下面是我的 event.model.ts:

export class EventModel {
  public eventId: string;
  public eventName: string;      
  public eventStart: Date;

  constructor(
    eventId: string,
    eventName: string,  
    eventStart: Date
  ) 
  {
    this.eventId = eventId;
    this.eventName = eventName;
    this.eventStart = eventStart;
  }
}

这里是全历法启动。

import { EventInput } from '@fullcalendar/core';

使用方法。

private events: EventInput[] = [
    { id: "1", title: 'Test', start: new Date() }
];

getEvent(id: string) : EventModel {
    var event = this.events.find(x => x.id === id);        
    if (event) {
        EventModel model = new EventModel(event.id, event.title, event.start); //the event.start Throws error!
    } 
}
angular typescript fullcalendar
1个回答
0
投票

感谢@jonrsharpe评论的见解。

即使 EventInput的start属性已经用简单的 start: new Date():

private events: EventInput[] = [
    { id: "1", title: 'Event Now', start: new Date() }
]; 

负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: 负责人: EventInput 类的样子。

export interface EventDateInput {       
    start?: DateInput;
    //rest of properties.
}

DateInput 是:

export type DateInput = Date | string | number | number[];

所以,一个简单的铸造解决它。

EventModel model = new EventModel(event.id, event.title, <Date>event.start);
© www.soinside.com 2019 - 2024. All rights reserved.