149 votes

Dans Angular, qu'est-ce que "pathmatch : full" et quel est son effet ?

Ici, le pathmatch est utilisé comme complet et lorsque je supprime ce pathmatch, l'application n'est même pas chargée et le projet n'est pas exécuté.

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';

import { AppComponent }  from './app.component';
import { WelcomeComponent } from './home/welcome.component';

/* Feature Modules */
import { ProductModule } from './products/product.module';

@NgModule({
  imports: [
    BrowserModule,
    HttpModule,
    RouterModule.forRoot([
      { path: 'welcome', component: WelcomeComponent },
      { path: '', redirectTo: 'welcome', pathMatch: 'full' },
      { path: '**', redirectTo: 'welcome', pathMatch: 'full' }
    ]),
    ProductModule
  ],
  declarations: [
    AppComponent,
    WelcomeComponent
  ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

-1voto

Ali Points 11

Imaginez l'url suivante :

example.com/main/anything.
  • Sur Cas 1 il redirigera vers ErrorPage.

  • Sur Cas 2 il redirigera vers MainPage.


Cas 1 : (Nous définissons pathMatch à 'full')

const routes: Routes = [
  {path: '', component: MainPageComponent},
  {path: 'main', redirectTo: '', pathMatch: 'full'},
  {path: '**', component: ErrorPageComponent}
];

Cas 2 : (Nous ne définissons pas pathMatch, la valeur par défaut est pathMatch : 'prefix').

const routes: Routes = [
  {path: '', component: MainPageComponent},
  {path: 'main', redirectTo: ''},
  {path: '**', component: ErrorPageComponent}
];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X