gpt4 book ai didi

angular - 如何在 typescript 中导出数组

转载 作者:太空狗 更新时间:2023-10-29 17:51:32 25 4
gpt4 key购买 nike

在 Angular4 应用程序中,我使用服务导出一些在整个应用程序中使用的常量、枚举和接口(interface)。我想导出一个字符串数组,其键是 anum 中的键。这是我现在拥有的:

export enum ContextMenus {
... (more options)
OBJECT_COLOR_RED = 120,
OBJECT_COLOR_GREEN = 121,
OBJECT_COLOR_BLUE = 122
}

我想根据上面枚举的值导出一个字符串数组,如下所示:

let ObjectStyles : string[];
ObjectStyles[ContextMenus.OBJECT_COLOR_RED] = '#f00';
ObjectStyles[ContextMenus.OBJECT_COLOR_GREEN] = '#0f0'
ObjectStyles[ContextMenus.OBJECT_COLOR_BLUE] = '#00f';

export ObjectStyles; // THIS IS WHAT I DON'T KNOW HOW TO WRITE

我试过按照论坛中的建议使用 export default RulesStyles,但是当我尝试从这样的组件导入它时:

import { ContextMenus, ObjectStyles } from '../app-options.service';

编译器提示模块“app-options.service 没有导出成员 ObjectStyles”。

另一个建议的解决方案是像这样导出 ObjectStyles:

export { ObjectStyles };

在这种情况下,编译器不会报错,但应用程序会在运行时崩溃并出现以下错误:

TypeError: ObjectStyles is undefined

我怎样才能做我想做的事?谢谢!

最佳答案

我刚刚想起几周前读到的关于计算属性作为数组键的内容。您必须将它们放在括号之间才能使其正常工作。所以,我可以使用这段代码做我想做的事:

export var ObjectStyles = {
[ContextMenus.OBJECT_COLOR_RED] : '#f00',
[ContextMenus.OBJECT_COLOR_GREEN] : '#0f0',
[ContextMenus.OBJECT_COLOR_BLUE] : '#00f'
};

这样做可以让我从应用中的每个组件导入和使用 ObjectStyles。

关于angular - 如何在 typescript 中导出数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48165514/

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