【问题标题】:Angular 8 and async @Input [duplicate]Angular 8和异步@Input [重复]
【发布时间】:2020-03-16 23:56:58
【问题描述】:

在第一个组件中,我有一个变量 x,它是订阅 observable(s) 的结果。由于获取此变量的值涉及很多 swithcMap-ing 和类似的东西,我不想在第二个组件中重复所有复杂的逻辑,我也需要变量 x (不仅在 html模板)。 @Input 适合这个还是有其他方法可以实现它?

【问题讨论】:

  • 好吧,在不知道你在做什么的情况下,我相信这将是 Input 的一个很好的用法。您有一个“智能”组件执行所有“计算”来查找值,并将结果作为输入传递给子“显示”组件

标签: angular angular-components angular-observable


【解决方案1】:

这篇文章提出了四种替代方案,其中任何一种都可能适用于您的用例:

Sharing Data Between Angular Components - Four Methods

2017 年 4 月 30 日由 Jeff Delaney 撰写

  • 父母对孩子:通过输入共享数据
  • 子到父:通过 ViewChild 共享数据
  • 子级到父级:通过 Output() 和 EventEmitter 共享数据
  • 不相关的组件:与服务共享数据

您没有提供足够的详细信息来确定这些方法中的哪一种(如果有的话)可能满足您的用例。例如,IS您的两个组件之间是否存在父/子关系?

这是另一个示例,它说明了上面的“子到父,输出/事件发射器”场景:

Angular 7-Sharing variable between components dynamically

【讨论】:

    猜你喜欢
    • 2018-02-24
    • 2021-11-17
    • 2015-04-04
    • 2016-03-21
    • 2018-03-22
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多