【问题标题】:Can I define a specific class type in a class that implements an interface with a generic type in typescript?我可以在使用打字稿中实现具有泛型类型的接口的类中定义特定的类类型吗?
【发布时间】:2020-12-27 11:51:48
【问题描述】:

我有这个接口和在下面实现它的类。它最初的数据是“IYogaEvent[]”,现在我想将它用于多个项目,所以我创建了一个泛型来传递。

我可以使用除“any”之外的特定值作为数据属性类型吗? 我希望能够使用“IYogaEvent[]”或“IUser[]”,但只能弄清楚如何为数据赋予“any”类型

export interface IPagination <T> {
  pageIndex: number;
  pageSize: number;
  count: number;
  data: T;
  // data: IYogaEvent[];
  // data: IUser[];
}

export class Pagination implements IPagination <any> {
  pageIndex: number;
  pageSize: number;
  count: number;
  data: any;
  // data: IYogaEvent[] = [];
  // data: IUser[] = [];
}

【问题讨论】:

    标签: typescript generics inheritance


    【解决方案1】:

    您应该能够做同样的事情并转发泛型类型:

    export interface IPagination<T> {
      pageIndex: number;
      pageSize: number;
      count: number;
      data: T;
    }
    
    export class Pagination<T> implements IPagination<T> {
      pageIndex: number;
      pageSize: number;
      count: number;
      data: T;
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多