假设我有2个模块:客户/像这样的订单:
number
两者都使用自己的服务(通过使用模块中的number
)
msg.attach(MIMEText(body, 'plain'))
导入/customers
/customers-list.component.html
/customers-list.component.ts
/customers-details.component.html
/customers-details.component.ts
/customers-create.component.html
/customers-create.component.ts
/customers.service.ts
/customers.module.ts
/orders
/orders-list.component.html
/orders-list.component.ts
/orders-create.component.html
/orders-create.component.ts
/orders.service.ts
/orders.module.ts
,因为在我的providers
中,我有一个表单,可以在其中为客户添加新订单。如果客户端不存在,我可以按一个按钮,然后显示orders.module
。
但是现在,我需要通过调用customers.module
在我的orders-create.component.ts
中为给定客户添加customers-create.component
的列表。
但是由于循环依赖,我无法在我的Orders
中导入customers-details.component
模块。
那么:在这种情况下最好的方法是什么?我需要为我的orders-list.component
创建一个共享模块吗?
答案 0 :(得分:1)
两者都使用自己的服务(通过使用模块中的提供程序)
我认为这是一个错误的方法,您应该已经将服务(与逻辑服务)隔离开来处理请求(例如API服务),该请求将被定义一次并且可以在任何地方重用。
答案 1 :(得分:0)
您可以制作第三个模块,以组成所需的视图。这样一来,您就可以继续拥有特定于域的组件(order
和customer
),但可以创建不同但仍可重用的页面。
例如:
/pages
/customer-view.component
/orders-create.component.ts
您的customer-view.component
将使用customers-details.component
和orders-list.component
创建您描述的完整视图。
您的orders-create.component.ts
也应该包含在这个新模块中,因为它使用了Customer组件。
*免责声明:将模块命名为您想要的名称,这只是一个示例。