gpt4 book ai didi

TypeScript:扩展导入的枚举

转载 作者:搜寻专家 更新时间:2023-10-30 20:33:28 25 4
gpt4 key购买 nike

我可以在单个文件中合并枚举声明,例如

export enum Test {
value1 = <any>'value1',
value2 = <any>'value2'
}

export enum Test {
value3 = <any>'value3'
}

这工作正常,但我的意图是有一个共享枚举,我可以稍后扩展,例如

// test.enum.ts
export enum Test {
value1 = <any>'value1',
value2 = <any>'value2'
}

// place-to-extend-enum.ts
import { Test } from './test.enum';

export enum Test {
value3 = <any>'value3'
}

我得到的是

Individual declarations in merged declaration 'Test' must be all exported or all local.

有没有办法实现预期的行为?

最佳答案

引用https://github.com/Microsoft/TypeScript/pull/6213你可以这样做:

// test.enum.ts
export enum Test {
value1 = <any>'value1',
value2 = <any>'value2'
}

// place-to-extend-enum.ts
import { Test } from './test.enum';

declare module './test.enum' {
export enum Test {
value3 = <any>'value3'
}
}

...魔法! ;)

关于TypeScript:扩展导入的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41940349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com