【发布时间】:2022-09-21 11:38:16
【问题描述】:
我对角度很陌生,虽然我现在正在做的事情有效,但不确定我是否遵循最佳实践。设想:
- 员工服务:处理对后端的所有调用(getEmployees、getEmployee(id)、saveEmployee(employee))
- 员工组件:列出所有员工(使用 ngFor)
- Employee 组件:从列表中选择后显示所选员工的数据(具有双向绑定),允许编辑等。如果保存,则 getEmployees(重新加载列表)和 getEmployee(重新加载所选员工)都会叫做。
问题是,我找到了两种访问从服务后端获得的数据的方法,并且似乎都有效:
- 在服务中获取和存储数据。在组件构造函数中,我将服务添加为上市然后在模板中,我可以直接从服务访问数据变量。
- 在服务中获取数据,但我没有将其存储在那里,而是使用了一个主题。在组件中,我将服务添加为私人的, 订阅雇员和员工并将数据存储在组件本身中。
虽然选项 1 需要更少的代码,但我的印象是选项 2 是正确的做法。但是我不太确定这是否正确,如果是,为什么?我相信我在这里缺乏一些基本知识,当涉及到重新加载数据时,角度如何处理对 dom 的更新,从后端刷新。
任何帮助,将不胜感激, 谢谢
【问题讨论】:
-
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。
标签: angular typescript angular14