Как я могу получить маршрут, который пользователь пытается открыть в защите canActivate в угловом 2?Как получить целевой маршрут в ng2 guard canActivate?
Как я могу сделать сторожевой вахту для каждого изменения параметра маршрута, например. изменение идентификатора в маршруте?
import { Injectable } from '@angular/core';
import {Observable, Observer, Subject} from "rxjs/Rx";
@Injectable()
export class RightsGuard implements CanActivate {
constructor(
private router: Router,
private route: ActivatedRoute
// private state: RouterStateSnapshot
) { }
canActivate(): Observable<boolean> | boolean {
var targetUrl = ???
// var targetUrl = this.router.url // is showing previous url?
return true;
}
}
Предложенный ответ в Angular 2 get current route in guard используя private state: RouterStateSnapshot
, а затем this.route.url
не работает для меня, так как он выдает ошибку DI:
Error: Uncaught (in promise): Error: DI Error
Error: DI Error