【发布时间】:2023-08-22 12:21:01
【问题描述】:
我正在尝试为每个后端微服务提供一个角度模块。因此,要保持每个模块独立和干净,同时它们在可用时使用彼此的组件,当在容器中找不到组件时使用默认的“服务不可用”组件。
示例场景:假设有一个销售和会计模块。 销售模块需要一个带有选择器的组件:'total-price'。 销售模块和会计模块都被主模块使用,但销售不知道会计。 当我在销售中调用“总价”标签时,我希望主模块在会计中找到它并在销售中显示它。
这里的'total-price'标签选择器就像一个抽象(OO接口),它的实现被放置在会计模块中,主模块应该有一个IOC来搜索并找到实现并将其注入销售,如果视图不可用(类似于空对象模式),则返回未找到的视图。这也可能有助于处理授权并在不允许用户查看某些组件时返回正确的视图。
代码示例:
This 是该场景的示例代码,但它无法编译,因为正如我的问题所述,我正在寻找一种编排方式,组合 UI 并将 <total-price> 组件注入销售而不引用会计模块直接。
【问题讨论】:
-
你可以告诉我你投反对票有什么问题。谢谢。
-
这是一个很好的问题 mohsen(投了赞成票),但如果您更新了您的场景代码,即模块,例如stackblitz,那就更好了。我会试着想象你的代码并为你发布一些答案:)
-
您好,亲爱的@Arash,抱歉延迟。我在问题中添加了您建议的示例代码。你会看一下吗?谢谢;)。
标签: angular dependency-injection microservices view-injection micro-frontend