использовать один и тот же распознаватель для каждого ребенка в приложении - PullRequest
0 голосов
/ 20 декабря 2018

Я пытаюсь использовать общий распознаватель для всех своих приложений.

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

{
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: ''}
];

Я вижу, что AppResolver никогда не вызывается, есть ли ошибка в моем файле app.routing?

1 Ответ

0 голосов
/ 20 декабря 2018

Каждый маршрут требует своего собственного распознавателя.Таким образом, вы можете повторить логику таким образом для вашего требования.Пример кода ниже.

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
   }
 ]
}

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

...