【问题标题】:Hide components in Angular在 Angular 中隐藏组件
【发布时间】:2019-04-12 18:00:54
【问题描述】:

我正在尝试在 Angular 中隐藏一个自定义组件。我有一个子组件和父组件,子组件在父组件的模板内:

<comp (add) = "onAdd($event)"> </comp>

所以,当我试图隐藏组件时,它可以工作。它适用于隐藏在标签中的文字或设置显示:无或使用 ngIf。

但问题是,当我隐藏组件时,事件不起作用 (->(add) = "onAdd($event)") 我从子级传递给父级的数据对于服务很重要,所以我需要一个解决方案来隐藏组件而不丢失传递的数据。

数据通过子组件的 EventEmitter 传递。

谢谢你的建议。

【问题讨论】:

  • 如果你依赖一个不存在的组件,因为它已被 ngIf 删除,为了发生某些事情,那就是设计问题。不存在的东西怎么能通知它的父母呢?它不存在。不存在的组件上不能有“添加”。这是什么“添加”事件。你想在更高的层次上实现什么?
  • 某物如何产生不显示或隐藏或不存在的事件。

标签: angular


【解决方案1】:

好吧,在这种情况下,关键是在更改期间从子组件到emit。可以在子组件的ngOnChanges 中实现类似的功能,同时将一些@Input 数据从父组件传递给子组件。

我创建了一个 Sample StackBlitz 来演示这个。

但在大多数情况下并非如此。在大多数情况下,您通常在用户与子模板交互时从子组件发出。但是由于用户一开始不会看到 Child,所以它实际上不可能像 cmets 中提到的那样。

【讨论】:

  • @JenkyG,你能用这种方法实现你想要的吗?
猜你喜欢
  • 2020-07-29
  • 1970-01-01
  • 1970-01-01
  • 2022-06-15
  • 1970-01-01
  • 1970-01-01
  • 2016-07-09
  • 1970-01-01
  • 2017-04-05
相关资源
最近更新 更多