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

609
Views
¿Cuándo se llama a Angular2 ngAfterViewInit?

Necesito un código jQuery para ejecutar después de que mi vista de componente Angular se haya inicializado para transformar los valores numéricos en estrellas.

Puse el código en la función ngAfterViewInit, pero no está haciendo lo que necesito. Establecí un punto de interrupción en la función y veo que la mayor parte del HTML de mi componente ni siquiera se ha cargado cuando se llama a la función ngAfterViewInit. Las partes que no se han cargado se generan usando la directiva *ngFor.

¿Cómo puedo hacer que mi código se ejecute después de que esta directiva haya generado todo el html en el que necesito operar?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Es importante tener el implements para que el metodo se pueda ejecutar y se llama cada vez que se corra el programa

class Component implements AfterViewInit {
  ngAfterViewInit() {
    // ...
  }
}
over 4 years ago · Santiago Trujillo Report

0

¿Cuándo se llama a ngAfterViewInit?

Se debe llamar a ngAfterViewInit() después de crear la vista de un componente y las vistas de sus hijos. Probé esto y descubrí que los ngAfterViewInit() de los niños se llaman antes que los ngAfterViewInit() de los padres.

Cuando dice "la mayor parte del HTML de mi componente ni siquiera se ha cargado", ¿qué quiere decir con "cargado"? ¿Está el HTML en la plantilla del componente secundario o se está cargando (o generando) por algún otro medio?

¿Cómo puedo hacer que mi código se ejecute después de que esta directiva haya generado todo el html en el que necesito operar?

Sería útil ver el código de la directiva. Si la directiva de alguna manera genera HTML que no está contenido en las plantillas angulares, es posible que deba activar manualmente un evento (por ejemplo, usando una propiedad de salida) para notificar al padre cuando se haya completado el procesamiento. O podría usar setTimeout() (pero eso no sería confiable).

Necesito un código jQuery para ejecutar después de que mi vista de componente Angular se haya inicializado para transformar los valores numéricos en estrellas.

¿De dónde obtienes estos valores numéricos? Si se cargan dinámicamente desde un servidor, podría desencadenar un evento cuando lleguen los datos y actualizar la vista en ese momento.

Además, ¿por qué no escribir un componente que tome un número como propiedad de entrada y genere estrellas usando NgFor ?

over 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!