Вернитесь к родительскому URL - PullRequest
1 голос
/ 10 октября 2019

Я пытаюсь вернуться к родительскому URL-адресу, когда параметр изменен, и есть больше параметров маршрута, и сохранить текущий URL-адрес, если нет параметров маршрута.

Я приведу пример, чтобы сделатьвсе более понятно.

Итак, у меня есть 3 компонента: CompA , CompB и CompC , который содержит список элементов и когда я перемещаюськ одному из них я сохраняю URL:

/ compA , / compB или / compC .

Навигация внутрикаждого компонента к элементу возможно и также сохраняется в URL как / compA / item1 .

У меня есть раскрывающийся список, чтобы выбрать конкретный клиент и чтоЯ хочу вернуться к родителю, когда клиент был изменен, и у меня есть параметры маршрута, или сохранить конкретный маршрут, если его нет.

Например, я нахожусь на / compA / item2 и я меняю клиента. Ожидаемое поведение - перейти к / compA . Или, если я на / compB и меняю клиента, я должен остаться на / compB .

Я нашел решение, используя это

this.router.navigate(['.'], { relativeTo: this.activeRoute.parent });

но у меня не работает.

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Я нашел решение, используя:

const parentURL = this.router.url.split('/')[1];
this.router.navigate([parentURL]);
0 голосов
/ 10 октября 2019

Поскольку . - это "текущий каталог", ../ - это "на один уровень вверх"

this.router.navigate(['../'], { relativeTo: this.activeRoute.parent });
...