我正在尝试为每个后端微服务提供一个角度模块。因此,当它们在可用时使用彼此的组件和在容器中找不到组件时使用默认的“服务不可用”组件时,要保持每个模块独立和干净。
示例场景:假设有一个销售和会计模块。销售模块需要一个带有选择器的组件:'total-price'。销售模块和会计模块都被主模块使用,但销售不知道会计。当我在销售中调用“总价”标签时,我希望主模块在会计中找到它并在销售中显示它。
这里的“总价”标签选择器就像一个抽象(OO 接口),它的实现被放置在会计模块中,主模块应该有一个 IOC 来搜索并找到实现并将其注入到销售中,并返回一个如果视图不可用,则找不到视图(有点像空对象模式)。这也有助于处理授权并在不允许用户查看某些组件时返回正确的视图。
代码示例:
这是该场景的示例代码,但它无法编译,因为正如我的问题所述,我正在寻找一种编排方式,组合 UI 并将<total-price>
组件注入销售而不直接引用会计模块。