Angular router.navigate не направляет к распознавателю, если на том же компоненте - PullRequest
0 голосов
/ 20 января 2020

Я выполняю поиск с помощью компонента navbar вверху страницы. Я могу перенаправить на свою страницу компонента 'member' при вводе критериев поиска с панели навигации, но как только я нахожусь на компоненте 'member', и я изменяю параметры запроса и пытаюсь снова запустить router.navigate (), я могу ' Angular не может попасть в мой распознаватель.

вот что я делаю и что я пробовал выше вызова навигационной системы, похоже, что notReuseRoute или onSameUrlNavigation не работают для повторного попадания в мой распознаватель на компоненте.

Вопрос - так ли это? Потому что, может быть, у меня где-то что-то не так!

// tried with no luck
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
// tried with no luck
this.router.onSameUrlNavigation = 'reload';
this.router.navigate(['/members'], {
  queryParams: {
    latitude: this.locationLatitude,
    longitude: this.locationLongitude,
    gender: this.gender,
    minAge: this.ageFrom,
    maxAge: this.ageTo,
    orderBy: this.orderBy
  }
});

1 Ответ

0 голосов
/ 20 января 2020

Вам нужно будет подписаться на изменение параметров запроса

constructor(
    private activatedRoute: ActivatedRoute,
) { }

this.activatedRoute.queryParams.subscribe(params => {
    console.log(params);
    // logic after subscribing
});

, поэтому практически каждый раз, когда вы изменяете queryParams, он запускает эту подписку, и вы можете запустить свою логику c оттуда

...