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'.
儿童的回调
我有一个组件有这个 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'.
儿童的回调