Angular 7: очистить параметры URL-адреса на canActivate

Можно ли очистить параметры URL-адреса во время canActivate?

маршрутизация:

const routes: Routes = [
  {
    path: 'myRoute',
    component: MyRouteComponent,
    canActivate: [MyGuard]
  }

]

сторожить:

canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
if (not) {
  return false;
}

//clean url parameters ?

return true;

}

URL: ../myRoute?p=1&p=2&p=N

после охраны: ../myRoute?p=1


person antia    schedule 05.11.2020    source источник
comment
Проверьте это stackoverflow.com/questions/43665206/   -  person yazan    schedule 05.11.2020
comment
Просто проверьте, не попадите в бесконечный цикл вызова одного и того же URL. Вы можете перенаправить с помощью navigateByUrl или createUrlTree.   -  person Numichi    schedule 05.11.2020
comment
Привет @Numichi, но если я сделаю перенаправление с помощью navigationByUrl или createUrlTre, не будет создан цикл с защитой?   -  person antia    schedule 05.11.2020
comment
Это будет бесконечный цикл, если вы не справитесь с ним с какой-либо логикой. Вы также можете сделать бесконечную петлю с двумя охранниками. Типа: главная -> А гвардия -> Б гвардия -> А -> Б -> инф. loop... Стоит посмотреть, как работает ваша реализация. И я рекомендую вернуть навигацию, чем false. false, по сути ничего не загружается и даже не перемещается.   -  person Numichi    schedule 05.11.2020