【发布时间】:2020-12-20 21:09:33
【问题描述】:
我需要访问 coreModule 中的 sharedModule=>random.component... 目前,我遇到循环依赖错误。我应该继续尝试这样做还是它本身就是错误的?
这是我当前的应用结构
app.module.ts
-> 导入:core.module.ts
core.module.ts
-> Imports:shared.module.ts(我认为这会导致循环依赖
shared.module.ts
-
它是由任何功能模块需要的导入
-
app.module.ts 也导入它
-
core 正在导入它,因为它包含我的 log.service.ts
-
可以从 shared
预测 core 中还需要其他东西
shared.module.ts ===> log.service.ts
- 这是共享的,因为它不应该是单例
- 尝试删除 core 中的 share import 并简单地在 core 组件中导入 log.service 但现在 core 不会
如果 core 导入 shared 是错误的。 core 如何获得对 shared
中事物的访问权限【问题讨论】:
-
我在这里没有看到循环引用。它只是 App => Core => Shared。和应用程序 => 共享。这很好。您确定没有其他方式的进口,例如共享导入核心?
-
功能和共享模块不导入核心,但共享组件确实使用来自核心的单例服务,例如
import { GlobalService } from 'meteorite-core';... shared.module 中没有提到核心 -
如果核心导入共享是错误的。核心如何访问共享中的内容 您可以将其导入到任何您想要的位置 - 除非共享模块没有导入该部分。你会得到循环依赖。
-
@Omar 这就是你的循环。由于 share 使用的是核心 - 首先不应该将其分开。
-
我明白了。所以核心有 global.service (单例),几乎每个共享或功能模块都需要它。我如何做到这一点? @Antoniossss