angular - 子组件从@Input 或服务订阅获取数据?哪个更好?
问题描述
我有一个父组件、一个子组件和一个服务。父组件从服务订阅对象数据。子组件也需要监听该数据变化。哪个更好,子组件使用 @Input 从其父组件获取数据,还是让它也订阅服务?
解决方案
@Input() 的用例
- 当我们只有一到两个层次结构时
- 当我们传递的值被其他组件使用时
服务用例
- 当我们有很多层次结构并且传递值变得有点困难时
- 当某些组件功能依赖于某些组件值时,该值可能下降了大约 10 个层次结构,所以在这种情况下,我们可以使用订阅服务,这样每当值发生变化时,我们就可以在我们的组件中自动使用它
- 当一个值被多个组件使用时
推荐阅读
- java - 如果我忘记关闭与数据库的连接
- python - 数组和 for 循环
- excel - ComboBox 在下拉菜单中看不到初始化
- rust - 多个非返回函数调用中只有一部分与 async/await 并发运行
- visual-studio-code - VScode调试模式显示“找不到指定的任务”
- postgresql - Spring Data R2dbc中处理表之间关系的最佳实践
- javascript - 获取和异步等待总是返回未定义
- javascript - Protractor + Cucumber + TypeScript 转换为 JavaScript 的利弊?
- c# - Automapper 将 valueTransformer 添加到“字典到对象”映射器
- flutter - 购物车计数器在颤振中返回时未更新