代码之家  ›  专栏  ›  技术社区  ›  cucuru

对应用中的每个子项使用相同的解析器

  •  0
  • cucuru  · 技术社区  · 6 年前

    我正在尝试为我的所有应用程序使用通用解析器。

    在根目录中,我没有组件,我只是根据路径加载一个子目录。 我输入了一个解析器,但我的应用程序没有调用它:

    {
    path: '',
    resolve: { data: AppResolver },
    canActivate: [LoggedInGuard],
    children: [
      {
        path: '',
        redirectTo: '/mainView',
        pathMatch: 'full'
      },
      {
        path: 'menu1',
        loadChildren: 'app/menu1/menu1.module#Menu1Module'
      },
      {
        path: 'menu2',
        loadChildren: 'app/menu2/menu2.module#Menu2Module'
      }
    ]
    },
    {path: '**', redirectTo: ''}
    ];
    

    我看到Approver从未参与,我的应用程序中是否有任何错误。路由文件?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Sagar Routh    6 年前

    每个路由都需要自己的解析器。因此,您可以通过这种方式复制逻辑以满足您的需求。下面是示例代码。

    const viewRouteResolver = { data: AppResolver };
    {
    path: ‘’,
    resolve: viewRouteResolver,
    canActivate: [LoggedInGuard],
    children: [
       {
          path:  ‘’,
          redirectTo:  ‘/mainView’,
          pathMatch: ‘full’,
          resolver: viewRouteResolver
       },
       {
         path: ‘menu1’,
         loadChildren: ‘app/menu/menu1.module#Menu1Module’,
         resolve: viewRouteResolver
       }
     ]
    }
    

    因此,由于路径匹配,路由被激活,解析器将被触发。

    推荐文章