Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

408
Vistas
¿Por qué Angular carga mi plantilla raíz dos veces?

Mi componente raíz se carga dos veces a pesar de que tengo un componente separado para mi página de inicio. He intentado usar diferentes cosas, como pathMatch , componente separado, etc., pero no tuve suerte. Cuando voy a /dashboard , funciona bien, pero cuando carga la página inicialmente (página raíz), la barra de navegación se carga dos veces. Quiero evitar eso.+

Mi código se ve así:

 import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { NavbarComponent } from './navbar/navbar.component'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { RouterModule, Routes } from '@angular/router'; import { RootComponent } from './root/root.component'; import { FeatureDashboardComponent } from '@angular/dashboard'; import { FeatureHomepageComponent } from '@angular/homepage'; const routes: Routes = [ { path: '', component: RootComponent, pathMatch: 'full', children: [ { path: '', component: FeatureHomepageComponent } ] }, { path: 'dashboard', component: FeatureDashboardComponent }, { path: '**', redirectTo: '' } ]; @NgModule({ declarations: [ NavbarComponent, RootComponent ], imports: [ BrowserModule, NgbModule, RouterModule.forRoot(routes)], providers: [], bootstrap: [RootComponent], }) export class AppModule {}

Y mi HTML para RootComponent es:

 <angular-navbar></angular-navbar> <div class="layout"> <router-outlet></router-outlet> </div>

Y la barra de navegación es:

 <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> <div class="container-fluid"> <a class="navbar-brand">My App</a> </div> </nav>

Ejemplo en inspeccionar

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Creo que el problema podría ser que tiene la ruta '' cargando RootComponent y la ruta secundaria intenta cargar FeatureHomepageComponent pero también '' , que el enrutador no puede resolver de manera efectiva.

Intente darle a la ruta de los niños un camino que no esté vacío, así:

 ... { path: '', component: RootComponent, pathMatch: 'full', children: [ { path: 'home', component: FeatureHomepageComponent } ] }, ...

Y juegue con la redirección al final, de modo que cuando su aplicación se cargue, debería navegar a (por ejemplo) localhost:4200/home

about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que el problema es con este código:

 path: '', component: RootComponent,

lo más probable es que NO desee tener su RootComponent aquí, ya que permitiría que RootComponent apareciera dentro de su

 <router-outlet>

y podría explicar por qué tienes 2 de ellos.

 <router-outlet>

solo debe enrutar a CHILDREN de su RootComponent.

En otras palabras, ninguna ruta (en su configuración de enrutamiento) debe representar su RootComponent, ya se está procesando. Las rutas allí solo deben representar lo que desea mostrar DENTRO de la salida de su enrutador, también conocido como NIÑOS de su RootComponent

Para la solución, creo que solo tienes que hacer esto:

 path: '', component: FeatureHomepageComponent

la primera ruta en su configuración (elimine la parte RootComponet y los niños: [] parte)

about 4 years ago · Juan Pablo Isaza Denunciar

0

En lugar de llamar a la router-outlet intente llamar al nombre exacto del componente

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda