簡體   English   中英

TypeScript:如何訪問泛型類的靜態方法

[英]TypeScript: how to access a static method of a generic class

我有一個抽象類:

export enum SingularPluralForm {
  SINGULAR,
  PLURAL
};

export abstract class Dog {

  // ...

}

我有一個擴展抽象類的類:

export class Pug extends Dog {

  // ...

  static readonly kindNames = {
    [SingularPluralForm.SINGULAR]:
      'pug',
    [SingularPluralForm.PLURAL]:
      'pugs'
  };

  // ...

}

而且我還有一個參數化類,它使用泛型並且需要訪問kindNames

export class Playground<T extends Dog> {

  // ...

  getKindName(form: SingularPluralForm) {
    // need to return T.kindNames[form] here...
  }

  // ...

}

如何從那里訪問T.kindNames[form]

請好心幫忙。 謝謝你。

UPD1:我會將Pug類傳遞給Playground的構造函數,但問題是Playground類實際上是一個 Angular 組件,它是由框架初始化的,而不是手動初始化的。 :-(

從評論中發布並改寫得更全面

根據初始化的位置,angular 通常在注冊期間提供一個額外的參數來指定要使用的工廠。

您可以查看 [component loading 2工廠注冊

也許,您可以通過將屬性直接與內部 DTO 或對象本身上的@Input裝飾器綁定來解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM