我正在使用angular-io-slimscroll进行滚动。我有两个模块,我需要这个插件。
如果我在两个模块中添加此插件,则会出现此错误,我明白我无法在2个模块中声明组件
所以我在app.module中声明插件,逻辑上这很好,两个模块应该能够做到这一点,但我面临这个错误
注意: 现在我将所有内容转换为模块以获得更好的结构,在转换之前我将所有内容都作为组件进行操作,插件在该阶段工作但不在多个模块中。
请帮我解决这个问题,或者告诉我任何好的选择,谢谢
答案 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 { }