Вернитесь к определенному разделу предыдущей страницы - Angular Router - PullRequest
0 голосов
/ 09 октября 2018

У меня 2 страницы.Page1 и Page2.Страница 1 и Страница 2 находятся в разных компонентах.

Page1 имеет 2 раздела.

Со страницы 1, 2-й раздел с помощью router.navigate (), я перехожу к Page2.

Со страницы 2 с помощью location.back (), я могу вернуться на Page1.

Использование Location.back () всегда перенаправляет меня на 1-й раздел Page1.Но я хотел, чтобы я вернулся во второй раздел Page1.

1 Ответ

0 голосов
/ 09 октября 2018

Я думаю, что вы ищете привязку страницы, и она поддерживается угловым маршрутизатором, см .: Angular2 Маршрутизация с хэштегом на привязку страницы Но я не знаю, если "location.back () "работает с этим решением.Вы должны проверить это или использовать пользовательскую навигацию «назад» с router.navigate ().

В противном случае у вас есть другие варианты:

  • Вы можете разделить страницу 1на два подкомпонента, по одному для каждого раздела и со своим собственным маршрутом.Подумайте о дизайне вашего приложения, если это будет иметь больше смысла.Это может быть самый простой вариант, и location.back () будет работать в этом случае.

  • Вы можете использовать необязательный параметр маршрута "page1? Section = 2" и искать его внутри вашегоКомпонент Page1 со следующим кодом:

Snipped:

constructor(private activatedRoute: ActivatedRoute) {
   this.activatedRoute.params.subscribe((params: Params) => {
      const section = params["section"];
   });    
}

Затем вы можете прокрутить свое представление внутри компонента Page1 в зависимости от константы раздела.Если он равен 1, вы переходите к разделу 1, если он равен 2, вы переходите к разделу 2.

...