【问题标题】:Angular | Which is the better place to place logic, child or parent component?角 |放置逻辑、子组件或父组件的更好位置是哪个?
【发布时间】:2020-05-07 18:30:55
【问题描述】:

考虑有一些可重用的组件 A 具有一些逻辑(例如:API 调用),必须在单击按钮时执行。 A 用于两个组件 B 和 C(彼此不相关)。

在处理逻辑方面,以下哪个更好?

  1. 将条件放入 A 的 click 函数中,具体取决于从 B 或 C 调用相应 API 作为输入传递的参数。
  2. 在 B 和 C 组件中分别发出事件和编写逻辑。

【问题讨论】:

  • 在B和C组件注入的服务中发出事件并编写逻辑
  • 好的,谢谢,我也可以知道为什么它是更好的方法吗?

标签: javascript angular


【解决方案1】:

A 是一个可重用的组件,最好让它变笨:它应该只与输入和输出通信:
- 从父组件获取数据的输入
- 输出以发出事件,而不关心事件将做什么

这样您可以确保您可以在不同情况下重用您的组件,而不会与潜在的父级严重耦合:如果有一天您有一个 D 组件,您将不必更改 A 组件。

父母很聪明,有给定的上下文。但这并不意味着它应该包含所有逻辑。为了将每个文件的关注点分开,最好把逻辑放在一个服务里面(不耦合到组件上会更容易测试)

【讨论】:

    猜你喜欢
    • 2019-11-16
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 2012-09-12
    • 2017-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多