首页 > 解决方案 > Angular - 类型的参数不可分配给参数

问题描述

TypeScript 在 app.component.ts 中显示以下错误:

'(events: Event[]) => void' 类型的参数不能分配给 '(value: Event[]) => void' 类型的参数。

参数“事件”和“值”的类型不兼容。

类型 'Event[]' 不能分配给类型 'import("/home/src/app/models/event.interface").Event[]'。

“事件”类型缺少“事件”类型的以下属性:_id、名称、日期

这是我的代码:

事件接口.ts

export interface Event{
    _id: string;
    name: string;
    date: Date;
}

应用服务.ts

  getEvents(): Observable<Event[]> {
    return this.http.get<Event[]>('www.example.com/your-events')
  }

app.component.ts

  ngOnInit() {
    this.appService.getEvents().subscribe(
      (events: Event[]) => {
        this.promotersEvents = events;
      }
    )
  }

我的代码有什么问题?谢谢你的建议!

标签: javascriptangulartypescript

解决方案


您可能忘记在 in或 in 中导入Event接口,而您所指的其中之一是本机 Javascript 。app.service.tsapp.component.tsEventEvent

如果这没有帮助,请尝试重命名接口,使其不会与 Ecmascript 定义文件冲突。


推荐阅读