In Angular2 how do I check if a route exists?
I have a method that remembers which route to navigate to if the user is not authorised.
On login I have:
this.router.navigate([this.authService.redirectUrl]);
But I only want to navigate IF the redirectUrl references a valid route, something like ..
if (this.authService.redirectUrl is a valid route) {
this.router.navigate([this.authService.redirectUrl]);
}
Is there any way to check this?
You can check if the route exists like that using the promise way :
this.router.navigate(['redirect'])
.then(data => {
console.log('Route exists, redirection is done');
})
.catch(e => {
console.log('Route not found, redirection stopped with no error raised');
});
If the route is defined, redirection will happen. If not, you can execute some code in the catch block.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With