typescript - ¿Cómo mantener la barra diagonal final en la URL en Angular 2 o superior en Rutas Hijas?
Quiero saber cómo forzar el uso de la barra final en el enrutamiento de Angular. Estoy utilizando esta metodología para mantener la barra final en la aplicación Angular, ¡utilicé este enlace de documentación!
export const contactUsRoutes: Routes = [
{
path: 'contact-us/.', component: ContactUsComponent
}
];
<a [routerLink]="['/contact-us/.']">Contact us</a>
import { Location } from '@angular/common';
// main.ts
const __stripTrailingSlash = (Location as any).stripTrailingSlash;
(Location as any).stripTrailingSlash = function _stripTrailingSlash(url: string): string {
const queryString$ = url.match(/([^?]*)?(.*)/);
if (queryString$[2].length > 0) {
return /[^\/]\/$/.test(queryString$[1]) ? queryString$[1] + '.' + queryString$[2] : __stripTrailingSlash(url);
}
return /[^\/]\/$/.test(url) ? url + '.' : __stripTrailingSlash(url);
};
Funciona bastante bien para enlaces simples, sin embargo, tengo una sección de rutas hijas
const wizardRoutes: Routes = [{
path: 'page-childs',
component: WizardComponent,
children: [
{
path: '',
component: Page1Component,
},
{
path: ':region/.',
component: Page2Component,
},
{
path: ':region/:origins/.',
component: Page3Component,
}
]
}];
// main path: localhost/page-childs/ redirecto to Page1Component
// path Child 1: localhost/page-childs/usa/ show Page2Component
// path Child 2: localhost/page-childs/usa/aaa/ show Page3Component
Además, en WizardComponent tengo un router-outlet.
Tengo problemas para definir la ruta 'page-childs' porque necesito tener la barra al final, y si la pongo ('page-childs /.') en la definición, las rutas dejan de funcionar.
¿Alguien sabe cómo debería definir esto?