Angular动态组件ViewChildren始终为undefined
创始人
2024-10-24 15:01:11
0

问题描述: 在Angular中使用ViewChildren获取动态组件时,始终返回undefined。

解决方法:

  1. 确保动态组件已经正确地被添加到父组件中。 例如,在父组件的模板中使用ng-container和ngTemplateOutlet来动态加载组件:

    
    
    

    确保在动态加载组件之前,已经将动态组件添加到dynamicComponent模板中。

  2. 使用AfterViewInit生命周期钩子来获取动态组件。 在父组件中,实现AfterViewInit接口,并在ngAfterViewInit方法中获取动态组件。

    import { Component, ViewChildren, QueryList, AfterViewInit } from '@angular/core';
    import { DynamicComponent } from './dynamic.component';
    
    @Component({
      selector: 'app-parent',
      template: `
        
        
      `
    })
    export class ParentComponent implements AfterViewInit {
      @ViewChildren(DynamicComponent) dynamicComponents: QueryList;
    
      ngAfterViewInit() {
        console.log(this.dynamicComponents); // 获取到动态组件的QueryList
      }
    }
    
  3. 如果动态组件是通过ngIf或ngFor条件渲染的,请确保在获取动态组件之前,动态组件已经被渲染到DOM中。 这可以通过使用setTimeout来延迟获取动态组件,以确保组件已经被渲染到DOM中。

    import { Component, ViewChildren, QueryList, AfterViewInit } from '@angular/core';
    import { DynamicComponent } from './dynamic.component';
    
    @Component({
      selector: 'app-parent',
      template: `
        
    ` }) export class ParentComponent implements AfterViewInit { @ViewChildren(DynamicComponent) dynamicComponents: QueryList; showComponent = true; ngAfterViewInit() { setTimeout(() => { console.log(this.dynamicComponents); // 获取到动态组件的QueryList }); } }

通过以上方法,您应该能够成功获取到动态组件的QueryList,并进行后续的操作。

相关内容

热门资讯

九分钟了解“多乐找刺激捕鱼辅助... 九分钟了解“多乐找刺激捕鱼辅助”详细辅助安装教程(好像真的是有挂);1、玩家可以在多乐找刺激捕鱼辅助...
第5分钟了解“丽水都莱脚本辅助... 第5分钟了解“丽水都莱脚本辅助”详细辅助玩家教你(总是存在有挂)1、下载好丽水都莱脚本辅助辅助软件之...
第九分钟了解“传送屋app辅助... 第九分钟了解“传送屋app辅助脚本视频”详细辅助解密教程(确实存在有挂)1、进入游戏-大厅左侧-新手...
3分钟辅助挂“衢州都莱辅助器是... 3分钟辅助挂“衢州都莱辅助器是真是假”详细辅助解密教程(都是真的有挂);1、不需要AI权限,帮助你快...
第9分钟了解“衢州都莱到底有挂... 第9分钟了解“衢州都莱到底有挂吗”详细辅助wpk教程(总是是真的有挂)1、衢州都莱到底有挂吗ai机器...
7分钟辅助器“玉海楼茶苑游戏攻... 7分钟辅助器“玉海楼茶苑游戏攻略”详细辅助德州论坛(原来是有挂);1、玉海楼茶苑游戏攻略系统规律教程...
1分钟辅助器“510k中至余干... 1分钟辅助器“510k中至余干辅助”详细辅助透明教程(好像是真的有挂);1、完成510k中至余干辅助...
第四分钟辅助器“皮皮跑子辅助”... 第四分钟辅助器“皮皮跑子辅助”详细辅助必备教程(总是是真的有挂)1、这是跨平台的皮皮跑子辅助黑科技,...
第十分钟了解“we-poker... 第十分钟了解“we-poker有人玩吗”详细辅助揭秘教程(一直真的是有挂)在进入we-poker有人...
1分钟了解“天天开心王国有没有... 1分钟了解“天天开心王国有没有挂”详细辅助德州论坛(果然真的是有挂);1、实时天天开心王国有没有挂开...