Кажется, CanActivate
нельзя использовать в сочетании с перенаправлением на основе этого эксперимента со стеклом .
Это проверяемый фрагмент кода.
{ path: 'module', loadChildren:
'./module#ComponentModule'},
{ path: '',
pathMatch: 'full',
canActivate: [AuthGuard],
redirectTo: 'module' },
];
Я ожидал, что до того, как маршрутизатор Angular завершит перенаправление, он выполнит защиту CanActivate
.
Однако это никогда не выполняется. Это означает, что мы не можем использовать CanActivate
в сочетании с redirect
.
Причина, по которой это было бы полезно, заключается в том, что, если бы он работал, Angular мог все еще предварительно выбирать защищаемый модуль, но он защищен, поэтому мы не разрешим доступ к нему до тех пор, пока не пройдут условия охраны.
Я бы хотел запросить у Angular рефакторинг маршрутизатора таким образом, чтобы это работало, но сначала я хочу убедиться, что моя интерпретация текущей семантики верна.
Если я допустил какие-либо ошибки в своей интерпретации или настройке демонстрации, пожалуйста, сообщите мне.
Это фактически запрос функции. Пожалуйста, проголосуйте за это, если вам нравится концепция