Как я могу получить маршрут, который пользователь пытается открыть в охраннике canActivate в angular 2?
Как я могу заставить охрану следить за каждым изменением параметра маршрута, например. изменение идентификатора в маршруте?
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 получить текущий маршрут в защите с помощью private state: RouterStateSnapshot
, а затем this.route.url
у меня не работает, так как выдает ошибку DI:
Error: Uncaught (in promise): Error: DI Error
Error: DI Error