Угловой маршрутизатор: маршрут не тестируется по следующему правилу пути - PullRequest
0 голосов
/ 17 октября 2018

С учетом следующего кода:

const LOCALIZED_PATHS: Route[] = [
  {
    path: 'activities',
    canActivate: [CountryGuard],
    loadChildren: 'app/common/activities/index/global/activity-index.module#ActivityIndexModule'
  }
];

.
.
.

RouterModule.forRoot([
      ...LOCALIZED_PATHS,

      /** GLOBAL ROUTES */
      // New Module
      {
        path: 'activities/new',
        loadChildren: 'app/common/activities/new/activity-new.module#ActivityNewModule'
      }
      .
      .
      .

И маршрут /activities/new.

Я ожидаю, что маршрутизатор проверит правила внутри LOCALIZED_PATHS, и если он вернет false, впроверьте следующее правило (path: /activities/new) и сопоставьте.

То, что происходит в настоящее время - в соответствии с потоком программы в консоли разработчика Google - это то, что оно сначала тестирует правила, заданные ActivityIndexModule ивозвращая false, затем проверяя canActivate охранника и также возвращая false, но, наконец, не переходя к ActivityNewModule.

Чего мне не хватает?Правильно ли я понимаю, как работает консоль в соответствии с логикой программы?

Большое спасибо за потраченное время.

1 Ответ

0 голосов
/ 17 октября 2018

решаемая.Как только совпадение поймает маршрут, маршрутизация закончена.Защитные элементы соответствуют пост-соответствию, поэтому, даже если он вернет false, маршрутизатор не будет продолжать пытаться соответствовать следующему правилу.

...