【问题标题】:angular-io-slimscroll not working in modulesangular-io-slimscroll 在模块中不起作用
【发布时间】:2017-09-25 21:55:26
【问题描述】:

我正在使用 angular-io-slimscroll 进行滚动。我有两个模块需要这个插件。

如果我在两个模块中都添加了这个插件,就会出现这个错误,我知道我不能在 2 个模块中声明组件

控制台错误 1

所以我在 app.module 中声明了插件,逻辑上这很好,两个模块都应该能够做到这一点,但我遇到了这个错误

控制台错误 2

注意: 现在我将所有东西都转换成模块以获得更好的结构,在转换之前我将所有东西都作为组件并且插件在那个阶段工作但不是在多个模块中。

请帮我解决这个问题或告诉我任何好的替代方案,谢谢

【问题讨论】:

    标签: angular scroll slimscroll


    【解决方案1】:

    Slimscroll 是一个指令,你不能将它导入到多个模块中。

    创建一个共享模块并将 Slimscroll 导入到模块的声明中。

    您还必须将其导出并将共享模块导入您要使用的模块中。

    import { NgModule } from '@angular/core';
    import { CommonModule } from '@angular/common';
    import { SlimScroll } from 'angular-io-slimscroll';
    
    @NgModule({
      imports: [
        CommonModule
      ],
      declarations: [
        SlimScroll
      ],
      exports: [
        SlimScroll
      ]
    })
    export class SharedModule { }
    

    在其他模块中只需导入 SharedModule

    import { SharedModule } from './shared.module';
    
    @NgModule({
      imports: [
        // other imports
        SharedModule
      ]       
    })
    export class OtherModule { }
    

    【讨论】:

    • 成功了!非常感谢您的解决方案。实际上,我通过查看有关控制台错误的建议尝试了此操作,但忘记导出 SlimScroll。感谢您指出。
    猜你喜欢
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2019-12-10
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多