Exporting enums in Angular modules

10,784

Solution 1

Why you need to export enum from the modules?. It is not necessary . It is like an interfaces and classes. You can use it everywhere, except directly in the templates.

You can just import them in any file which you want and use there. For them there is no error like

Directive or Component is not found

Solution 2

If you are writing libraries, you have to export enums with the keyword const

export const enum <ENUM_NAME>
Share:
10,784
Christoph Glaß
Author by

Christoph Glaß

Updated on June 21, 2022

Comments

  • Christoph Glaß
    Christoph Glaß almost 2 years

    Does anyone know if it’s possible to export enums in Angular modules? If not, are there any best practises to ship enums within Angular modules?

    // not working example
    // i dont know how to export GreatEnum
    
    import { NgModule } from '@angular/core';
    import { CommonModule } from '@angular/common';
    import { GreatComponent } from './great.component';
    import { GreatEnum } from './great.enum';
    
    @NgModule({
        imports: [
            CommonModule       
        ],
        declarations: [GreatComponent ],
        exports: [GreatComponent ]
    })
    export class GreatModule {
    }