首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在useValue中分配const值

无法在useValue中分配const值
EN

Stack Overflow用户
提问于 2019-02-24 14:09:53
回答 1查看 31关注 0票数 0

我创建了一个const类ElementConst

代码语言:javascript
复制
export class ElementConst {
    public static LINK = 'LINK';
    public static HEADING_1 = 'heading-1';
    public static HEADING_2 = 'heading-2';
    public static HEADING_3 = 'heading-3';
    public static HEADING_4 = 'heading-4';
    public static HEADING_5 = 'heading-5';
    public static HEADING_6 = 'heading-6';
    public static PARAGRAPH = 'paragraph';
    public static STRONG = 'BOLD';
}

因此,我在我的模块中导入了这个类,并试图分配它为useValue

代码语言:javascript
复制
export const CONTENT_MAPPINGS_PROVIDER: Provider = [
  {
    provide: CONTENT_MAPPINGS,
    useValue: {
      ElementConst.HEADING_1: HeadingComponent, // trying to do something like this, which throws error
      'heading-2': HeadingComponent,
      'heading-3': HeadingComponent,
      'heading-4': HeadingComponent,
      'heading-5': HeadingComponent,
      'heading-6': HeadingComponent,
      'paragraph':ParagraphComponent
    }
  }
];

为什么我不能在useValue中赋值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-24 14:59:10

当指定动态键时,需要将其包装在[]中。

下面是一个简单的示例,说明如何让代码传递编译器:

代码语言:javascript
复制
export class ElementConst {
    public static LINK = 'LINK';
    public static HEADING_1 = 'heading-1';
    public static HEADING_2 = 'heading-2';
    public static HEADING_3 = 'heading-3';
    public static HEADING_4 = 'heading-4';
    public static HEADING_5 = 'heading-5';
    public static HEADING_6 = 'heading-6';
    public static PARAGRAPH = 'paragraph';
    public static STRONG = 'BOLD';
}

interface Provider {
  provide: any;
  useValue: any;
}

const HeadingComponent = {};
const ParagraphComponent = {};

export const CONTENT_MAPPINGS_PROVIDER: Provider[] = [
  {
    provide: '',
    useValue: {
      [ElementConst.HEADING_1]: HeadingComponent,
      'heading-2': HeadingComponent,
      'heading-3': HeadingComponent,
      'heading-4': HeadingComponent,
      'heading-5': HeadingComponent,
      'heading-6': HeadingComponent,
      'paragraph': ParagraphComponent,
    }
  }
];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54852715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档