我是Angular的新手,刚开始学习。我有一种情况,我喜欢在多个项目中使用相同的组件。
我们说,我有一个CustomerComponent
,它会进行CRUD操作。
现在我想在项目A和项目B中使用CustomerComponent
。原因是如果我必须修改CustomerComponent
,我只能在一个地方而不是多个项目中进行修改。 / p>
是否可以创建这样的组件?
如果有可能,请指导我如何完成这个。
提前致谢。
答案 0 :(得分:2)
是。这绝对是可能的。您应该通过创建一个单独的模块来实现这一点,该模块将在其上注册此组件。然后,您可以从此模块导出此组件,并将模块导入到要在其中使用此组件的项目的应用程序模块中。
比如说,你有一个核心模块,如下所示:
@NgModule({
declarations: [CustomerComponent],
exports: [CustomerComponent],
})
export class CoreModule{}
在这里,我们声明了一个名为CustomerComponent
的组件,我们也从此CoreModule
现在,如果说,你有两个不同的项目,其中AppModule作为其根模块,在这两个项目中,你必须导入这个CoreModule
。像这样:
@NgModule({
imports: [CoreModule],
})
export class AppModule{}
一旦完成,CoreModule将被注册为模块,然后可以在AppModule中使用其导出的功能。
答案 1 :(得分:1)
当然,实际上鼓励它通过模块共享组件:
在此处查看更多内容:https://angular.io/guide/sharing-ngmodules
此外,如果你想分享服务,因为它们是作为单身人士实现的,它有点不同。
编辑(12月12日,18日) 这是一个关于单身人士服务的链接:https://angular.io/guide/singleton-services
用例问题但是为了清楚起见,您可以在上面阅读。谢谢!