Angular 8 - @ViewChild在父组件上返回undefined(没有嵌套的ngIf并在ngAfterViewInit中调用)
创始人
2024-10-17 10:01:07
0

解决此问题的方法是确保在访问@ViewChild时,子组件已经初始化并可用。您可以使用ngAfterViewInit生命周期钩子来确保在子组件初始化后执行相应的操作。

以下是一个示例代码,演示了如何解决这个问题:

父组件:

import { Component, ViewChild, AfterViewInit } from '@angular/core';
import { ChildComponent } from './child.component';

@Component({
  selector: 'app-parent',
  template: `
    
  `
})
export class ParentComponent implements AfterViewInit {
  @ViewChild(ChildComponent, { static: false }) childComponent: ChildComponent;

  ngAfterViewInit() {
    setTimeout(() => {
      console.log(this.childComponent); // 这里将会是 ChildComponent 的实例
    });
  }
}

子组件:

import { Component } from '@angular/core';

@Component({
  selector: 'app-child',
  template: `
    

子组件

` }) export class ChildComponent {}

在上述示例中,父组件使用@ViewChild装饰器来访问子组件,并在ngAfterViewInit钩子中执行相关操作。通过在setTimeout中运行代码,可以确保在子组件初始化后执行操作。

请注意,{ static: false }选项是必需的,以确保在ngAfterViewInit中能够正确访问@ViewChild

相关内容

热门资讯

辅助透视!werplan脚本,... 辅助透视!werplan脚本,werplan怎么透视(透视)一直真的是有辅助技巧(哔哩哔哩)1、下载...
详细透视!智星德州插件,德州辅... 详细透视!智星德州插件,德州辅助工具到底怎么样(透视)真是一直都是有辅助脚本(哔哩哔哩)1、德州辅助...
分享透视!cloudpoker... 分享透视!cloudpoker怎么开挂,werplan怎么作必弊(透视)好像真的是有辅助教程(哔哩哔...
辅助透视!poker mast... 辅助透视!poker master辅助,fishpoker透视底牌(透视)果然是真的有辅助教程(哔哩...
揭露透视!大菠萝手游辅助,哈糖... 您好,哈糖大菠萝辅助器这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多玩...
开挂透视!约局吧德州透视,po... 开挂透视!约局吧德州透视,pokerrrr2辅助(透视)真是真的有辅助教程(哔哩哔哩)1、许多玩家不...
总结透视!newpoker脚本... 总结透视!newpoker脚本,智星德州插件最新版本更新内容详解(透视)本来一直都是有辅助插件(哔哩...
了解透视!哈糖大菠萝挂法,拱趴... 了解透视!哈糖大菠萝挂法,拱趴大菠萝万能辅助器(透视)本来是有辅助攻略(哔哩哔哩)拱趴大菠萝万能辅助...
辅助透视!sohoo辅助,po... 辅助透视!sohoo辅助,pokemmo脚本辅助(透视)都是一直都是有辅助攻略(哔哩哔哩)亲,关键说...
教你透视!德州辅助工具到底怎么... 教你透视!德州辅助工具到底怎么样,菠萝德普辅助器免费版在哪里(透视)都是一直都是有辅助技巧(哔哩哔哩...