Перенаправление дочернего маршрута на домашний маршрут - PullRequest
0 голосов
/ 24 января 2019

Я создал дочерний маршрут для получения идентификатора продукта и отображения его деталей, но маршрут не работает должным образом и не отображает никаких сообщений об ошибках

Here is a print of the routing module:

Here is a print of the routing module:

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

Here and the product visualization by categories

Когда я нажимаю для просмотра сведений о продукте, я перенаправляюсь на домашнюю страницу

enter image description here

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Вам необходимо использовать полный путь, относительные пути рассчитываются со ссылкой на путь во время загрузки компонента, поэтому любая динамическая зависимость будет зависеть от времени загрузки, поэтому ваш текущий маршрут будет ''/producto.id, поэтомуон перенаправляется на /home

Если у вас есть доступ к идентификатору категории, используйте как: (Конечно, я предполагаю categorias.id)

routerLink="/home/categorias/{{categorias.id}}/{{producto.id}}

Другой способ сделать относительную вещь - это использовать функцию, скажем, goToProductDetails() и вызывать ее с помощью нажатия на кнопку.<button (click)="goToProductDetails()">

goToProductDetails() {
  this.router.navigate([producto.id], { relativeTo: this.activeRoute });
}

Вам понадобится такой конструктор, как:

constructor(private router: Router, private activeRoute:ActivatedRoute) {} 
0 голосов
/ 24 января 2019

Из конфигурации вашего маршрута, чтобы попасть на страницу сведений, ваш маршрут должен быть следующим:

home/categorias/[id]/[id]

Поскольку в определении маршрута есть и :id для родительского и дочернего маршрутов.

Попробуйте изменить детальную конфигурацию на ''.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...