Как сохранить косую черту в URL-адресе в угловых 2 или › в дочерних маршрутах?

Я хочу знать, как принудительно использовать последнюю косую черту в маршрутизации Angular. Я использую эту методологию для сохранения последней косой черты в приложении Angular, я использовал эту документацию ссылка!

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);
};

Это хорошо работает для простых ссылок, однако у меня есть раздел дочерних маршрутов.

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

Дополнительно в WizardComponent у меня есть router-outlet.

У меня проблемы с определением пути «page-childs», потому что мне нужно иметь косую черту в конце, и если я поставлю ее («page-childs/.») в определение, маршруты перестанут работать.

Кто-нибудь знает, как я должен определить это?


person juanjinario    schedule 03.09.2019    source источник