2017-02-06 17 views
5
const routes: Routes = [ 
{ path: 'x', component: xComponent }, 
{ path: 'y', component: yComponent }, 
{ path: 'zComponent', component: zComponent } 
]; 

Jeśli napiszę w adresie x mały przekieruje mnie na stronę komponentu, jeśli napiszę X Capital, wypisze nieprawidłowy adres URL.kątowa 2 trasy 3.0, z rozróżnianiem wielkości liter

Jak url niewrażliwy Case

+0

Spróbuj tego: http://stackoverflow.com/a/39560520/1081079 – freshbm

Odpowiedz

14

dwie opcje .. 1. Stwórz 1 URLSerializer Class

import { DefaultUrlSerializer, UrlTree } from '@angular/router'; 

export class LowerCaseUrlSerializer extends DefaultUrlSerializer { 
    parse(url: string): UrlTree { 
     return super.parse(url.toLowerCase()); 
    } 
} 

iw swoim app.module.ts

providers: [ 
     { 
      provide: UrlSerializer, 
      useClass: LowerCaseUrlSerializer 
     } 
    ], 

opcja 2 : Proste obejście w pliku trasy.

{ path: '/home', redirectTo: ['/Home'] }, 
{ path: '/Home', component: HomeComponent, name: 'Home' }, 
+0

Pierwsza opcja jest najlepsza, jaką mogłem znaleźć. Ponieważ dotyczy również parametrów trasy. –

+0

Ważna uwaga dotycząca opcji 1: należy ją dodać tylko do dostawców modułu głównego aplikacji i do tego modułu. –

+0

Aby to działało, wszystkie twoje trasy muszą być pisane małymi literami –

Powiązane problemy