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

294
Visualizações
Angular 2 ngOnInit no llamado

Estoy creando una aplicación Angular 2 con la versión beta.8.
En esta aplicación tengo un componente que implementa OnInit.
En este componente tengo la función ngOnInit, pero nunca se llama a la función ngOnInit.

 import { Component, OnInit } from 'angular2/core'; @Component({ templateUrl: '/app/html/overview.html' }) export class OverviewComponent implements OnInit { ngOnInit() { console.log('ngOnInit'); } }

El enrutamiento de la aplicación:

 @RouteConfig([ { path: '/overview', name: 'Overview', component: OverviewComponent }, { path: '/login', name: 'Login', component: LoginComponent }, { path: '/register', name: 'Register', component: RegisterComponent, useAsDefault: true } ])

Hay una verificación para ver si el usuario ya ha iniciado sesión dentro de LoginComponent y RegisterComponent.
Si el usuario ha iniciado sesión, los componentes redirigen a Overview usando: router.navigate(['Overview']) .
Si uso la ruta Overview como predeterminada, veo ngOnInit dentro de la consola.
Entonces, la forma en que redirijo mi página parece ser el problema.
¿Cómo se puede redirigir a la página de descripción general y llamar a la función ngOnInit?

Tanto el componente de RegisterComponent como el componente de inicio de LoginComponent utilizan

 ngOnInit() { this._browser.getStorageValue('api_key', api_key => { if (api_key) { this._browser.gotoMain(); } }) }

El navegador es una clase en la que almaceno el código específico del navegador. Esta es la función gotoMain:

 gotoMain() { this._router.navigate([this._browser.main]); }

this._browser.main es solo una cadena en este caso, 'Descripción general'.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Supongo que es un problema de zona.

Inyectar NgZone (importar desde angular2/core

 constructor(private zone:NgZone) {} this._browser.getStorageValue('api_key', api_key => { if (api_key) { this.zone.run(() => this._browser.gotoMain()); } })
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