我有一个父组件和一个子组件,其中父组件是使用* ngFor的重复子组列表。
每个孩子通过角度的@Input特征接受一个对象,子模板是一个使用角度2路绑定绑定的形式,让你可以编辑对象属性。
父组件不一定是子组件的通用容器/列表,不会重复用于其他列表。
父级使用注入的服务来检索正在使用的数据列表。
我的问题是,谁应该在保存表单时调用更新函数?如果孩子注入了服务并且它调用服务上的更新功能?应该传递给父母进行更新吗?孩子是否应该开始阅读?
我理解这可能会引发自以为是的答案,所以我正在寻找一个与Angular团队的最佳实践意图相符并且符合此标准的答案:
如果需要任何额外信息,请告诉我,谢谢!!
答案 0 :(得分:3)
我说,如果父组件使用某种服务(最有可能)检索子项,那么可能同一服务也处理保存操作,因此它应该是负责调用保存操作的父组件。在这种情况下,孩子应该仅生成事件以通知父母用户保存该特定项目的意图。这样他们的职责就更好地分开了,因为只有一个(父)组件负责服务上的数据操作(一个问题),而孩子只负责显示和编辑项目(另一个问题)。
答案 1 :(得分:0)
可能只取决于更新按钮的放置位置。如果它在子组件中,则从子级调用该服务,否则从父级调用它。