【发布时间】:2020-05-21 18:17:18
【问题描述】:
我修改了 Angular 示例购物车应用程序,但我无法以正确的方式重置购物车项目的计数器。 提交表单后计数器应该为零。
这是我设法做到的:the application。你可以随意编辑我的代码。
任何帮助将不胜感激:)
【问题讨论】:
-
这是因为购物车的状态没有在组件之间正确通信。您在
TopBarComponent中加载项目一次,长度会更新,因为您获得了对服务中项目的引用。在我(谦虚)看来,您应该做的是在CartService中创建一个Subject,它要么只发出购物车中的物品数量,要么发出所有物品。然后,您可以在应用程序中的任何位置订阅它。这样你就可以解耦你的组件。我认为通过 DI 将您的一个组件放入另一个组件中是一种 hacky。希望有帮助:)
标签: javascript angular counter reset