首页 > 解决方案 > 我可以在实现具有打字稿中泛型类型的接口的类中定义特定的类类型吗?

问题描述

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

我可以使用“任何”以外的特定值作为数据属性类型吗?我希望能够使用“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[] = [];
}

标签: typescriptgenericsinheritance

解决方案


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

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;
}

推荐阅读