我在根模块(AppModule)下有2个子模块(ClientModule和AdminModule)。
我有一个公共的库组件(文件上传器),我想在两个子组件中使用它。
所以我只是在根模块中声明公共库组件并在子模块中使用它,然后我收到错误,
如果'app-file-uploader'是Angular组件,请验证它是否为 这个模块的一部分。
如果我在每个子模块中声明它都可以。
但我只是想在根模块中声明公共库,以便所有子模块都可以使用它。可能吗?如果是的话,怎么做?
//根模块
@NgModule({
imports: [
...
ClientModule,
AdminModule,
],
declarations: [
FileUploaderComponent //(x)
],
...
})
export class AppModule { }
// file-uploader
@Component({
selector: 'app-file-uploader',
templateUrl: './file-uploader.component.html',
})
export class FileUploaderComponent {
public constructor() {}
}
答案 0 :(得分:3)
如果要使用其他模块的声明,则需要导入该其他模块。没有办法解决这个问题。每个模块都需要明确其依赖关系。 没有全局组件,指令或管道。 只能在全球范围内提供服务。