У меня есть 2 варианта, которые я могу придумать.
- Перейти к полному маршруту, включая ваш параметр.
- Перейти к маршруту относительно текущего маршрута
В любом случае вам нужно будет ввести текущий маршрут, например ActivatedRoute
.
Перейти к полному маршруту
Вам потребуется получить текущий id
param от маршрута
import { Router, ActivatedRoute } from '@angular/router';
export class Login2Component {
constructor(private route:Router, private route: ActivatedRoute){}
onLogIn() {
const id: string = this.route.snapshot.params.id;
this.route.navigateByUrl(`/${id}/dashboard`);
}
}
Переход к относительному маршруту
Вы можете перейти к братскому маршруту, используя шаблон ../{sibling}
и указав relativeTo: this.route
.
import { Router, ActivatedRoute } from '@angular/router';
export class Login2Component {
constructor(private route:Router, private route: ActivatedRoute){}
onLogIn() {
this.route.navigate([`../dashboard`], {
relativeTo: this.route
});
}
}
Что лучше?
Хотя вариант 2 выглядит чище, я лично предпочитаю вариант 1. Это означает, что вы можете реорганизовать иерархию маршрутов, не беспокоясь о нарушении относительной навигации. Это только мое мнение, хотя. Любой вариант технически приемлем.