Angular路由器:未遵循以下路径规则测试路由

时间:2018-10-17 14:25:37

标签: angular-router angular-router-guards

给出以下代码:

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 dev控制台中程序的流程,当前正在发生的事情是,它首先测试ActivityIndexModule给出的规则并返回false,然后测试{{1 }}保护并返回canActivate,但最终没有导航到false

我想念什么?在给定程序逻辑的情况下,我应该正确理解控制台中的流吗?

非常感谢您的宝贵时间。

1 个答案:

答案 0 :(得分:0)

已解决。匹配器捕获路由后,路由就结束了。警卫队正在进行后匹配,因此即使路由器返回false,路由器也不会继续尝试与下一条规则进行匹配。