Я использую localize-router в своем приложении Angular для установки текущего языка в URL.
Все работает отлично, если я настраиваю маршруты приложения с помощью клавиши path
...
Но мне нужно было использовать клавишу matcher
для решения чувствительного к регистру поведения URL, также я использую клавишу data
, чтобы установить некоторые параметры, которые могут мне понадобиться ...
Теперь проблема возникает сейчас, когда я пытаюсь изменить текущий язык, после того, как я попробовал на ошибку, я понимаю, что библиотека localize-router
зависит только от клавиши path
, чтобы извлечь некоторыенеобходимые данные.
import { Routes, RouterModule } from '@angular/router';
import { LocalizeRouterModule } from 'localize-router';
import { CaseInsensitiveMatcher } from '....';
export function BasePersonMatch() {
return CaseInsensitiveMatcher('PersonManagement').apply(this, arguments);
}
export function AddPersonMatch() {
return CaseInsensitiveMatcher('Add').apply(this, arguments);
}
const routes: Routes = [
{
matcher: BasePersonMatch, // this break changing the language
// path: 'PersonManagement', // when use this it's working fine
component: PersonManagementComponent,
canActivate: [AuthenticatedGuard],
canActivateChild: [AuthenticatedGuard],
data: {
authClient: AuthClients.FES
},
children: [
{ path: '', pathMatch: 'full', redirectTo: 'List' },
{
matcher: AddPersonMatch,
component: AddPersonComponent
},
{
matcher: PersonListMatch,
component: PersonListComponent
}
]
}
];
@NgModule({
imports: [
RouterModule.forChild(routes),
LocalizeRouterModule.forChild(routes)
],
exports: [RouterModule]
})
export class PersonManagementRoutingModule { }
Я не уверен, что выйдет новый выпуск из библиотеки localize-router
, который прекрасно работает с matcher
, поэтому какая-нибудь помощь, как решить это сейчас?