AnswerBun.com

Error con @viewChild con renderer2

Stack Overflow en español Asked by Mateo Morales on January 5, 2022

En el archivo index.html tengo lo siguiente

 <body #body>
  <app-root></app-root>
</body>

y en otro componente quiero tomar el body y asignarle una clase al body

 @ViewChild("body") body: ElementRef
constructor(private render: Renderer2  ) {}

  ngOnInit(): void {
    this.render.addClass(this.body.nativeElement,"login-body")
  }

pero tengo el siguiente error core.js:4196 ERROR TypeError: Cannot read property ‘nativeElement’ of undefined

2 Answers

Una solución sería utilizar document.body directamente para asignar la clase, es decir:

index.html

<body>
  <app-root></app-root>
</body>

Componente

export class MyAwesomeComponent implements OnInit, OnDestroy {

  constructor(
    private renderer: Renderer2
  ) { }

  ngOnInit() {
    this.renderer.addClass(document.body, 'awesome-class');
  }

  ngOnDestroy() {
    this.renderer.removeClass(document.body, 'awesome-class');
  }

}

En este caso, hacerlo dentro de ngOnInit es válido ya que el body está renderizado.

Answered by RRGT19 on January 5, 2022

En si, tienes dos errores, el viewchild buscara los elementos hijo del componente, obviamente el body es muy superior, te recomiendo usar algo mas nativo de javascript, lo otro es que deberias implementar esto en el AfterViewInit que es cuando un elemento esta renderizado

class MyComponent implements AfterViewInit {
  ngAfterViewInit() {
    // ...
  }
}

Answered by Samir Llorente on January 5, 2022

Add your own answers!

Related Questions

bajar el peso de una imagen Base 64

0  Asked on February 27, 2021 by mrsdy-soto

   

Conectar Wise-4051 a Base de datos

0  Asked on February 27, 2021 by jos-castaeda

       

Problema con Java SDK o con Netbeans

0  Asked on February 25, 2021 by rhca

     

Deshabilitar una fecha que ya esta registrado con PHP

0  Asked on February 24, 2021 by cristhian-chavez-alonso

   

como formatear JSON con javascript

1  Asked on February 23, 2021 by benjamin-alexis-rivas-beltran

     

Bcrypt NodeJS – Hash de contraseña

1  Asked on February 23, 2021

   

Suma de fila por columna

1  Asked on February 23, 2021 by milagros

 

Generar grupo en grafico C#

1  Asked on February 23, 2021 by alejandro-reyes

     

Eliminar repositorios archivados de GitHub

0  Asked on February 22, 2021 by youshiro

   

addEventListener para un botón que se mantiene pulsado

1  Asked on February 21, 2021 by perico-palote

     

Fallo de índice en una entidad débil MySQL

1  Asked on February 21, 2021 by crmiguez

   

No se pueden enviar correos usando php en una instancia de google cloud

2  Asked on February 21, 2021 by carlos-cotton

   

¿Puedo explotar el método de verificación java.security.Signature?

0  Asked on February 20, 2021 by adalher2478

 

Segundo array con los numeros pares del primero

1  Asked on February 19, 2021 by laker

 

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP, SolveDir