Je viens de commencer à migrer une application vers Angular + Flex-Layout + Angular Material.Pourquoi mon application recharge-t-elle la page entière à la place du composant lorsque j'ai un fichier de routage externe dans l'angle 4?
J'ai décidé d'avoir mon routage dans un fichier externe appelé "app-routing.module.ts". J'exporte mon module dans app.module.ts dans "imports". Ceci est mon fichier de routage:
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { HomeComponent } from './home/home.component'
import { CreateMatchComponent } from './match/create-match.component'
const routes: Routes = [
{ path: '', redirectTo: '/home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: 'match/new', component: CreateMatchComponent}
];
@NgModule({
imports: [ RouterModule.forRoot(routes)],
exports: [ RouterModule ]
})
export class AppRoutingModule {}
Et voici le code HTML de l'application.component qui rend ma sortie de routeur.
<div class="containerX">
<div fxLayout="row wrap">
<mat-toolbar color="primary" class="mat-elevation-z4">
<span>Amazing Football Stats App</span>
<span class="example-spacer"></span>
<mat-icon class="example-icon">favorite</mat-icon>
<mat-icon class="example-icon">delete</mat-icon>
</mat-toolbar>
</div>
<div fxLayout="row wrap" style="padding-top: 8px">
<router-outlet></router-outlet>
</div>
</div>
Comme vous pouvez le voir, mon Component App a une div avec la barre de navigation, puis une autre div avec mon <router-outlet>
.
Si je vais à localhost:4200
il charge <app-root>
qui contient le <nav-bar>
et la <router-outlet>
et depuis la « route » est vide, il me redirige vers «/home ».
Maintenant, mon problème est le suivant: Si je change l'URL: localhost:4200/match/new
(Dans le navigateur, dans la barre d'URL) appuyez sur Entrée, je vous attendre à quitter le <nav-bar>
et seulement mettre à jour le <router-outlet>
même fait marche arrière. Si je suis sur une page différente et que je change l'URL en "/ home" (ou même en la laissant vide) il devrait garder la barre de navigation et seulement mettre à jour la sortie du routeur. Désolé si c'est une question stupide que je viens de commencer avec le routage angulaire. Qu'est-ce que je fais mal?
Je vois, de sorte que le code est correct, est juste navigation pour SPAs doit être fait à partir de l'application. Merci monsieur, je vais créer quelques boutons et essayer cela. –