Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

84
Vistas
Angular Dynamic Component from another module

I have a problem when I access the directive via View Child, I get an error that it is undefined

  1. shared

    • filter-type
      • filter-type.component.ts
      • filter-type.component.html
    • nav
      • nav.component.ts
      • nav.component.html
      • nav.component.scss
  2. stats

    • cases
      • cases.component.ts
      • cases.component.scss
      • cases.component.html filter.directive.ts

Filter Directive

@Directive({
  selector: '[derFilterRef]'
})
export class FilterRefDirective {
  constructor(public containerRef: ViewContainerRef) {}
}

Cases Component HTML

<ng-template derFilterRef></ng-template>

Nav Component TS

@Component({
  selector: 'stats-nav-bar',
  templateUrl: './nav.component.html',
  styleUrls: ['./nav.component.scss']
})
export class NavComponent {
  @ViewChild(FilterRefDirective, { static: false }) refDir!: FilterRefDirective;

  constructor(private resolver: ComponentFactoryResolver) {}


  openStrokeFilter() {
    const modalFactory = this.resolver.resolveComponentFactory(FilterTypeComponent);
    console.log(this.refDir);
    this.refDir.containerRef.clear();
    this.refDir.containerRef.createComponent(modalFactory);
  }
}

Nav Component HTML

<button (click)='openStrokeFilter()' class='w-100'>Stroke Type</button>

I think it's about View Child because it returns undefined, because I'm not looking for it inside the component, but in another module

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda