angular-io-slimscroll无法在模块中工作

时间:2017-09-25 21:55:27

标签: angular scroll slimscroll

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

如果我在两个模块中添加此插件,则会出现此错误,我明白我无法在2个模块中声明组件

控制台错误1 Figure 1

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

控制台错误2 Figure 2

注意: 现在我将所有内容转换为模块以获得更好的结构,在转换之前我将所有内容都作为组件进行操作,插件在该阶段工作但不在多个模块中。

请帮我解决这个问题,或者告诉我任何好的选择,谢谢

1 个答案:

答案 0 :(得分:2)

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 { }