小编Ano*_*Dev的帖子

在另一个文件中扩展导入的枚举并使用它

我正在尝试在不同的文件中扩展导入的枚举,并在另一个不同的文件中使用该扩展的枚举。

一般情况

base.enum.ts

export enum MyEnum {
    a = "Foo"
}
Run Code Online (Sandbox Code Playgroud)

扩展.enum.ts

import { MyEnum } from './base.enum';

declare module './base.enum' {
    export enum MyEnum {
        b = "Bar"
    }
}
Run Code Online (Sandbox Code Playgroud)

在 index.ts 中使用

import { MyEnum } from './base.enum';
import './extended.enum'; // side-effects import (no usage of export)

console.log(MyEnum.a); // prints "Foo" as expected
console.log(MyEnum.b); // prints undefined, instead of the expected "Bar"
Run Code Online (Sandbox Code Playgroud)

(我在支持字符串值枚举的 TypeScript 2.4.2 中这样做)

我已经使用这个这个SO 问题作为参考,并在 GitHub …

enums module extending typescript

6
推荐指数
1
解决办法
3226
查看次数

标签 统计

enums ×1

extending ×1

module ×1

typescript ×1