Angular6-数组中的组件未更新

时间:2018-07-08 14:59:35

标签: angular

以下是显示该错误的代码: https://stackblitz.com/edit/angular-gbn3kr

我正在尝试动态更新总数字段。我创建了一个数量组件,它是一个输入并接收一个数字并存储该数字。在我的应用程序组件中,我有这些数量组件的数组。当我从应用程序组件尝试QuantumComponent.getQuantity()时,即使我知道我正确设置了组件数量,也总是返回0,因为组件数量正确显示。

我认为这是因为未更新数组中的QuantityComponent。我的假设正确吗?您将如何编码?

1 个答案:

答案 0 :(得分:1)

这是因为您正在服务中创建Quantity的新对象。在应用程序视图中,您正在启动另外两个数量的独立实例。每当您使用组件选择器<quantity...>(就像在app-component-html中所做的那样)时,angular实例化组件。我已在此stackblitz

中解决了该问题

但是您可以通过使用EventEmitters来增强此性能,从而提高性能。我试图坚持您曾经使用过的想法,这就是为什么您会找到For-loop来获得TOTAL值的原因,但是首选的方式是EventEmitters。