首页 > 解决方案 > 当“strictTemplates”设置为“true”时,具有自定义图标类型的 cx-icon 会出错

问题描述

在我们的项目中,我们意识到如果设置为不使用来自 Angular 的 , 作为解决方法,我们将无法<cx-icon>在模板中使用。strictTemplatestrue$any(...)

我们有自己的CUSTOM_ICON_TYPE's 列表,所以在我们设置strictTemplates为之后true,Angular 抱怨我们自己的图标类型。这段代码:

<cx-icon [type]="customIconTypes.CHEVRON_RIGHT"></cx-icon>

给出这个错误:

Type 'CUSTOM_ICON_TYPE.CHEVRON_RIGHT' is not assignable to type 'ICON_TYPE'. ngtsc(2322)

这是我们当前解决方法的示例:

<cx-icon [type]="$any(customIconTypes.CHEVRON_RIGHT)"></cx-icon>

有没有其他已知的解决方法?或者是否cx-icon已经计划在未来进行更新?

标签: spartacus-storefront

解决方案


根据文档,图标的配置旨在以不同的方式提供。

请试试这个:

ConfigModule.withConfig(<IconConfig>{
  icon: {
    symbols: {
      CHEVRON_RIGHT: "<value of customIconTypes.CHEVRON_RIGHT>",
    },
  },
});


推荐阅读