子项隐藏时执行子项功能

时间:2018-12-05 12:21:40

标签: angular ionic3

我有一个子组件,当前在页面上不可见。使用布尔值对其进行操作。

即使不显示它,我也要执行其功能。 我已经声明了子组件实例,如下所示:

  @ViewChild(ChildComponent) child: ChildComponent; 

但是当我执行其功能时, child 变量显示为未定义,因为它是隐藏的(这就是我的想法)。

1 个答案:

答案 0 :(得分:2)

如果您正在使用 * ngIf 隐藏您的ChildComponent,它将不会读取您的@ViewChild(ChildComponent),因为 ngIf表示您正在DOM上省略了一些在物理上不会可见。

如果您在ChildComponent上使用 [hidden] ,则它会隐藏在DOM中,但仍存在于模板中,而您的@ViewChild(ChildComponent)将是能够阅读。

<child [hidden]="true"></child>    // Try using [hidden] rather than *ngIf