Как перейти к маршруту, когда названная точка является дочерней по отношению к неназванной точке
Я использую Angular 5. У меня есть один в app.component. Я динамически маршрутизирую к определенному компоненту, скажем, "приборная панель". этот компонент панели мониторинга имеет именованный маршрутизатор-выход и набор дочерних компонентов. Теперь мне нужно изменить содержимое названного роутера с компонента приборной панели через роутер навигацию. Я пытался после навигации
1. this.router.navigate([{ outlets: { right: 'temp1' }}], {redirectTo: this.activatedRoute})
2. this.router.navigate(['/dashboard',{ outlets: { right: 'temp1' }}])
Но оба терпят неудачу и получают следующую ошибку
ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'dashboard'
Хотя я изменяю URL браузера, он работает, но не может загрузить через навигацию. Я думаю, что это из-за родителя. Любая помощь будет оценена.
1 ответ
Как выглядит ваш app.router? Какой URL вы получаете, когда он вызывает маршрут. Я изо всех сил пытался понять относительную маршрутизацию в маршрутизаторе. Через два дня я могу отправить вам то, что работает для меня, но вдали от моего компьютера.
Если относительный адрес неправильный, вы можете использовать../dashboard, чтобы перейти на один каталог вверх. Или, если у вас есть роутинг с тем же именем, вы можете убедиться в том, что требуемый pathMatch установлен на full в app.routing.
this.router.navigate ([{outlets: {right: ['dashboard', 'temp'] }}]); Нечто подобное должно работать.
https://www.concretepage.com/angular-2/angular-2-4-named-router-outlet-popup-example
This .router.navigate([{ outlets: { primary: 'dashboard', right: 'temp1' }}])
что-то вроде этого должно помочь