Solución:
No hay una función lista para usar del enrutador angular para lograr eso, así que las escribí:
function getResolvedUrl(route: ActivatedRouteSnapshot): string {
return route.pathFromRoot
.map(v => v.url.map(segment => segment.toString()).join("https://foroayuda.es/"))
.join("https://foroayuda.es/");
}
function getConfiguredUrl(route: ActivatedRouteSnapshot): string {
return "https://foroayuda.es/" + route.pathFromRoot
.filter(v => v.routeConfig)
.map(v => v.routeConfig!.path)
.join("https://foroayuda.es/");
}
Salida de ejemplo cuando route
es desde ProjectComponent
:
const routes: Routes = [
{
path: 'project', component: ProjectListComponent, children: [
{path: ':id', component: ProjectComponent}
]
},
];
getResolvedUrl(route) => /project/id1
getConfiguredUrl(route) => /project/:id
intente esto para obtenerlo de RouterStateSnapshot
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
console.log(state.url)
...
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)