我有以下循环模块依赖问题:
涉及的角度模块:
> DatabaseMenuModule – 搜索和查看数据库表
> DetailViewModule(数据库菜单模块的子代) – 查看表中的一个数据集
> SubtableModule – 如果单击外键,则在模式对话框中打开另一个DatabaseMenu实例
整体结构是一种包括递归在内的自我,因为每个数据集都可以有外键,因此打开(点击)另一个数据库菜单实例.
如图所示,我有一个循环导入的模块,因此它不起作用.
zone.js:917 Uncaught Error: Unexpected value 'undefined' imported by the module 'SubtableModule'
但我也认为没有办法解决这个问题.
有没有人有一个想法如何重新解决这个问题?
解决方法
你必须摆脱循环引用.
您的SharedModule导入OneModule,它导入导入OneModule的SharedModule,依此类推.
为了避免这种情况,您应该尝试使SharedModule具有可以包含在所有组件中的SharedService,尝试重新组合服务中代码的“逻辑思维”.
如果要跨多个模块使用组件,则需要创建“共享”模块并将该组件添加到共享模块的导出中.然后将该共享模块添加到其他模块导入中.
例如:https://thinkster.io/tutorials/angular-2-ngmodule/creating-the-sharedmodule