Angular2 - 根据来自 child 组件的事件切换另一个元素

Angular2 - toggle another element based on an event from a child component

我有一个组件有这个 child:

<fb-customer-list (inSearchMode)="listIsInSearchMode = event$"></fb-customer-list>

如您所见,它监听来自 child 的事件,这只是一个布尔值(表示 child 是否改变了模式)。

在 parent 中,我试图隐藏一个基于此布尔值的 div:

<div class="center fade" *ngIf="!listIsInSearchMode">

但这只在布尔值第一次改变时有效。之后,这个div就一直隐藏了。我知道 ngIf 直接从 DOM 中删除,但肯定当事件再次变为 true 时,它​​应该是 re-added.

我也试过根据布尔值应用 style.visibilty,也尝试使用 hidden 属性...但两者给出相同的结果。

我可以在 child 中看到事件从 true 变为 false,但似乎第一次 parent 后没有?

我不确定这是否是问题所在,但您应该写 $event 而不是 event$.

具有 *ngIf 的 div 是否包装了 fb-customer-list 组件?如果是这样,您将无法收听来自非 'alive'.

儿童的回调