【问题标题】:How change in TWO child component can result in change in Parent component's Output?两个子组件的变化如何导致父组件的输出发生变化?
【发布时间】:2019-07-29 00:32:20
【问题描述】:

在这里,我有大学任务要做......我被困在中间了。!我有两个子组件,一个具有用于过滤结果的复选框,而一个具有要显示的输出的详细信息。现在我完成了外部部分,即布局,但现在对如何暗示其功能和所有内容感到困惑,伙计们请帮我解决这个问题,因为我从过去 1 天半开始就这样做了。

https://stackblitz.com/edit/angulaar-aman?file=src%2Fapp%2Fapp.component.html

这是我到目前为止所做的工作..!!

【问题讨论】:

  • 将过滤后的值传递给复选框的change 事件,然后将此值发送给parent,在父级中获取该值并过滤您的数据
  • 你想做什么?基于一个子组件中的选中项在另一个子组件中显示结果输出?这是任务吗?
  • @emkay 是的,要显示的列表在一个孩子中,过滤器在另一个孩子中..!!并且都连接到一个父组件
  • @AbdulBasit 但父组件只是显示两个子组件..实际内容在两个子组件中,所以我该怎么做?请详细解释一下..

标签: json angular checkbox filter


【解决方案1】:

当复选框子组件发生任何更改时,评估所有复选框被选中的内容并将其传递给事件发射器。使用该数据,您可以使用模板引用变量详细说明子组件的所有方法。试试看。我对stackblitz 做了一些更改。 让我们将您的结构简化为:-

<app-parent>
 <child-checkbox (checkedValues)="showFreshDetails($event,details)"></child-box>
 <child-details  #details></child-details>
</app-parent>

在上面的代码中,我正在做的是,当子复选框组件中发生任何取消选中时,您会发出表示该类型的值,例如 json 类型

[{'option1':checked},{'option2':unchecked})]

现在在 showFreshDetails(json,details) (在父组件中定义)你正在传递这个 json 以及 child-details 组件的 模板引用变量。在这里,它被定义为 child-details 组件上的#details。 在 showFreshDetails() 中,您调用 child-details 组件的方法,例如,使用 模板引用变量 details 来调用 showNewDetails(),您也可以将发出的 json 传递给该方法,如果你愿意。

【讨论】:

  • 我没听懂你..对不起,你能简单介绍一下吗
  • stackblitz.com/edit/… 我现在已经更新了,我从一个新的开始,只是想把一个孩子和另一个孩子联系起来,看看吧。
  • 你在 stackblitz 中做了哪些改变?对我来说看起来一样。
  • 另外我已经更新了答案,看看你能不能理解,还是我应该提供更多解释。
  • 我已经简化了一点,现在我从 child-checkbox-component 发出值并试图在另一个组件中捕获它..你能看看这个..我猜那里需要寻找两个子组件之间的链接..stackblitz.com/edit/…
猜你喜欢
  • 2022-11-26
  • 2017-03-08
  • 1970-01-01
  • 1970-01-01
  • 2021-07-09
  • 2021-08-10
  • 2021-04-27
  • 2017-06-04
  • 1970-01-01
相关资源
最近更新 更多