Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

406
Visualizações
ngOnInit no se llama cuando se instancia la clase inyectable

¿Por qué no se llama a ngOnInit() cuando se resuelve una clase Injectable ?

Código

 import {Injectable, OnInit} from 'angular2/core'; import { RestApiService, RestRequest } from './rest-api.service'; @Injectable() export class MovieDbService implements OnInit { constructor(private _movieDbRest: RestApiService){ window.console.log('FROM constructor()'); } ngOnInit() { window.console.log('FROM ngOnInit()'); } }

Salida de consola

 FROM constructor()
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Los ganchos del ciclo de vida, como OnInit() , funcionan con directivas y componentes. No funcionan con otros tipos, como un servicio en su caso. De documentos:

Un Componente tiene un ciclo de vida administrado por Angular mismo. Angular lo crea, lo representa, crea y representa a sus elementos secundarios, lo comprueba cuando cambian sus propiedades enlazadas a datos y lo destruye antes de eliminarlo del DOM.

Las instancias de directivas y componentes tienen un ciclo de vida ya que Angular las crea, actualiza y destruye.

over 4 years ago · Santiago Trujillo Relatório

0

No conozco todos los ganchos del ciclo de vida, pero en cuanto a la destrucción, ngOnDestroy en realidad recibe una llamada en Injectable cuando se destruye su proveedor (por ejemplo, un Injectable suministrado por un componente).

De los docs :

Gancho de ciclo de vida que se llama cuando se destruye una directiva, tubería o servicio .

En caso de que alguien esté interesado en la destrucción , consulteesta pregunta:

over 4 years ago · Santiago Trujillo Relatório

0

Agregando a la respuesta de @Sasxa ,

En Injectables , puede usar class normalmente que está poniendo el código inicial en el constructor en lugar de usar ngOnInit() , funciona bien.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda