【问题标题】:Type 'ModuleWithProviders<NbThemeModule>' must have a '[Symbol.iterator]()' method that returns an iterator.ts(2488)类型 'ModuleWithProviders<NbThemeModule>' 必须有一个返回 iterator.ts(2488) 的 '[Symbol.iterator]()' 方法
【发布时间】:2022-04-14 22:06:07
【问题描述】:

我尝试使用 Ngx-admin 并设置主题,但出现错误: 类型“ModuleWithProviders”必须有一个返回 iterator.ts(2488) 的“Symbol.iterator”方法 我该如何解决这个错误?请帮帮我

export class ThemeModule {
    static forRoot(): ModuleWithProviders<ThemeModule> {
        return {
            ngModule: ThemeModule,
            providers: [
                ...NbThemeModule.forRoot(
                    {
                        name: 'default',
                    },
                    [DEFAULT_THEME, COSMIC_THEME, DARK_THEME],
                    null,
                    NbLayoutDirection.RTL
                    
                ),
            ],
        };
    }
}

【问题讨论】:

  • 我认为 NbThemeModule.forRoot 为您提供模块而不是提供者。尝试将其移动到“导入”属性中

标签: angular typescript ngx-admin


【解决方案1】:

问题在于发布传播运算符的内容。

改为这样做。

const nbThemeModule: any = NbThemeModule.forRoot(
                {
                    name: 'default',
                },
                [DEFAULT_THEME, COSMIC_THEME, DARK_THEME],
                null,
                NbLayoutDirection.RTL
                
            )

然后在@ngModule中,

export class ThemeModule {
  static forRoot(): ModuleWithProviders<ThemeModule> {
    return {
      ngModule: ThemeModule,
      providers: [
        ...nbThemeModule,
      ],
    };
  }
}

这将解决临时破解的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    相关资源
    最近更新 更多