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,并进行后续的操作。

相关内容

热门资讯

透视科技!aapoker插件(... 透视科技!aapoker插件(透视)aapoker脚本怎么用,AA德州教程(有挂揭秘)1、操作简单,...
透视透视!aapoker脚本(... 透视透视!aapoker脚本(透视)aapoker辅助插件工具,wepoke教程(有挂解密)1、aa...
透视计算!aapoker辅助器... 透视计算!aapoker辅助器是真的吗(透视)aapoker脚本,必赢教程(有挂教程)1、不需要AI...
透视讲解!aapoker透视脚... 透视讲解!aapoker透视脚本(透视)aapoker怎么提高中牌率,软件教程(有挂介绍)1、进入游...
透视软件!aapoker透视脚... 透视软件!aapoker透视脚本(透视)aapoker脚本怎么用,大神讲解(有挂揭秘)1、实时aap...
透视肯定!aapoker透视脚... 透视肯定!aapoker透视脚本下载(透视)aapoker怎么拿好牌,必备教程(有挂攻略)1)aap...
透视实锤!aapoker怎么开... 透视实锤!aapoker怎么开辅助器(透视)aapoker插件,科技教程(有挂攻略)一、aapoke...
透视教学!aapoker破解侠... 透视教学!aapoker破解侠是真的吗(透视)aa poker透视软件,详细教程(有挂插件)aapo...
透视安卓版!aapoker怎么... 透视安卓版!aapoker怎么设置抽水(透视)aapoker怎么开辅助器,黑科技教程(有挂详情)进入...
透视规律!aapoker怎么选... 透视规律!aapoker怎么选牌(透视)aa poker透视软件,曝光教程(有挂攻略)进入游戏-大厅...