pathmatch navigate example child angular typescript

example - router.navigate angular 5



En Angular, ¿qué es ''pathmatch: full'' y qué efecto tiene? (2)

pathMatch = ''full'' da como resultado una ruta correcta cuando los segmentos restantes, no coincidentes de la coincidencia de URL es la ruta del prefijo

pathMatch = ''prefix'' le dice al enrutador que coincida con la ruta de redireccionamiento cuando la URL restante comienza con la ruta del prefijo de la ruta de redireccionamiento.

Ref: https://angular.io/guide/router#set-up-redirects

pathMatch: ''full'' significa que toda la ruta URL debe coincidir y es consumida por el algoritmo de coincidencia de ruta.

pathMatch: ''prefix'' significa que se elige la primera ruta donde la ruta coincide con el inicio de la URL, pero luego el algoritmo de coincidencia de ruta continúa buscando rutas secundarias coincidentes donde coincide el resto de la URL.

Aquí se usa pathmatch como lleno y cuando elimino este pathmatch ni siquiera carga la aplicación o ejecuta el proyecto

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 { }


RouterModule.forRoot([ { path: ''welcome'', component: WelcomeComponent }, { path: '''', redirectTo: ''welcome'', pathMatch: ''full'' }, { path: ''**'', component: ''pageNotFoundComponent'' } ])

Caso 1 pathMatch:''full'' : en este caso, cuando la aplicación se inicia en localhost:4200 (o algún servidor), la página predeterminada será la pantalla de bienvenida, ya que la URL será https://localhost:4200/

Si https://localhost:4200/gibberish esto redirigirá a la pantalla pageNotFound debido a la path:''**'' comodín path:''**''

Caso 2 pathMatch:''prefix'' :

Si las rutas tienen { path: '''', redirectTo: ''welcome'', pathMatch: ''prefix'' } , ahora esto nunca alcanzará la ruta comodín ya que cada url coincidiría con path:'''' definido.