Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

341
Views
@ViewChildren(TemplateRef) no está definido para los elementos <template>

¿Cómo puedo obtener una colección de todas las plantillas (TemplateRef) dentro de un componente? Funciona bien con ViewChild pero ViewChildren no está definido...

Utilizo una solución de esta pregunta . Plunker con el ejemplo completo.

 @Component({ selector: 'my-app', template: ` <div> <template #model>...</template> <template #color>...</template> </div>` }) export class App { @ViewChild('model') model; @ViewChild('color') color; @ViewChildren(TemplateRef) templates: QueryList<TemplateRef>; ngAfterContentInit() { console.log(this.templates); // undefined console.log(this.model); // TemplateRef_ {...} } }

Necesito templates para un componente de cuadrícula donde es posible definir plantillas para columnas. Desafortunadamente, ng-content no admite la proyección dinámica, por lo que estoy tratando de lograrlo con plantillas.

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Si mueve console.log('child', this.templates); a ngAfterViewInit() entonces funciona.

 ngAfterViewInit() { console.log('child', this.templates); }

Esperaba que también funcionara en ngAfterContentInit() . Parece que en esta versión angular ngAfterContentInit() se ejecuta antes ngAfterViewInit() . Estaba seguro de que esto era al revés antes.

Ejemplo de Plunker

about 4 years ago · Santiago Trujillo Report

0

Necesita implementar ChangeDetectorRef.detectChanges(); al final de la función de cualquier niño

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!