angular - 将服务相关组件移动到共享模块
问题描述
假设我有一个名为的组件CarDetailsComponent
,它使用 a CarApiService
,两者都在CarModule
. 现在我想将该组件移出到SharedModule
. 由于多个模块也需要相同的组件。我无法共享整个CarModule
内容,因为它已经将其他模块(例如:、、、CustomerModule
)ShopModule
导入其中。
移动CarDetailsComponent
到SharedModule
不是问题,但我现在如何处理依赖服务 ( CarApiService
),因为它也被组件以及CarModule
.
我尝试使用提供程序(useClass
和很多)将服务替换为正在使用的模块的另一个服务。但是,我最终所做的只是将相同的功能复制粘贴到其他模块的服务中。
我确实考虑过将其CarApiService
移入其中SharedModule
,但它确实属于CarModule
其中(因为这里的大多数组件都使用它,并且只CarDetailsComponent
使用该服务)。
这里有什么更好的方法?
解决方案
在声明和导出 CarDetailsComponent 并在需要的地方导入它的地方创建一个 CarDetailModule 怎么样?
推荐阅读
- wpf - 如何使用项目创建 ListView 以添加项目
- android - 无法解析“:app@debugUnitTest/compileClasspath”的依赖关系:无法下载accessibility-test-framework.jar
- aws-lambda - 具有基本身份验证和 ip 白名单的无服务器 + next.js
- azure - MS Azure - 一个组织下可以有多个组织吗?
- java - 获取 Java.lang.LinkageError: ClassCastException
- node.js - 如何在 Angular 或 Node 中检索 DNS 记录
- python - How do I run a function in a class for every object of that class?
- mysql - 我可以用吗 ?mysql中选择查询中的列名?
- python - 如何删除字符串
- reporting-services - 基于表达式的边框样式在 SSRS 2017 的 Excel (.xlsx) 导出中不起作用