是否可以在多个项目中共享角度分量?

时间:2018-03-09 20:32:42

标签: angular angular-components angular-module

我是Angular的新手,刚开始学习。我有一种情况,我喜欢在多个项目中使用相同的组件。

我们说,我有一个CustomerComponent,它会进行CRUD操作。

现在我想在项目A和项目B中使用CustomerComponent。原因是如果我必须修改CustomerComponent,我只能在一个地方而不是多个项目中进行修改。 / p>

是否可以创建这样的组件?

如果有可能,请指导我如何完成这个。

提前致谢。

2 个答案:

答案 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

用例问题但是为了清楚起见,您可以在上面阅读。谢谢!