在 Angular 模块中导出枚举

Chr*_*laß 4 javascript enums angular-module typescript2.0 angular

有谁知道是否可以在 Angular 模块中导出枚举?如果没有,是否有在 Angular 模块中传送枚举的最佳实践?

// 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 {
}
Run Code Online (Sandbox Code Playgroud)

A.S*_*A.S 9

如果您正在编写库,则必须使用关键字 const 导出枚举

export const enum <ENUM_NAME>
Run Code Online (Sandbox Code Playgroud)


Sur*_*yan 5

为什么需要enummodules?导出。这不是必要的 。它就像一个interfacesclasses。除了直接在templates.

您可以将它们导入到您想要的任何文件中并在那里使用。对他们来说,没有像这样的错误

未找到指令或组件

  • 我正在编写模块以在几个角度应用程序中重用它们。这就是为什么我想在模块中发送枚举。 (4认同)
  • 看。当您将模块添加到应用程序的包中时,您可以从包的“barrel”文件中导出它。它可能包含例如`export yourModule from yourFile; 从 yourEnumFile` 导出 yourEnum ,然后获取模块和枚举,如 `import { YourModule, YourEnum } from YourPackage;` (2认同)