Tengo un componente genérico que recibe un Enum como entrada:
TableComponent<Columns> { @Input() columnsEnum: Columns; } El Enum se ve así:
export enum CardsEnum { CODE = 'sCode', NAME = 'sName', ID = 'sId' } Y en mi plantilla de titular, tengo una instancia de table-component como esta:
<table-component [columnsEnum]="cardsEnum"></table-component> Y en mi .ts del componente titular, tengo una referencia al Enum :
cardsEnum = CardsEnum Angular infiere el tipo de Columns correctamente, configurando esto para que sea CardsEnum . El problema es que en la plantilla donde estoy instanciando table-component , recibo el siguiente error en la entrada:
Type 'typeof CardsEnum' is not assignable to type 'CardsEnum'. Y eso es cierto, si observo mi componente titular, el tipo que almacena mi variable es typeof CardsEnum , no CardsEnum :
(property) HolderComponent.cardsEnum: typeof CardsEnum Puedo omitir el error al configurar cardsEnum = CardsEnum as unknown as CardsEnum pero no quiero hacer eso.
No puedo importar el Enum directamente en table-component porque voy a pasar diferentes enumeraciones a este componente, ya que es un componente genérico y ese es mi objetivo.
¿Alguna sugerencia sobre cómo solucionar este error?