1
如何獲得用戶嘗試在角度2的canActivate警衛內打開的路線?如何在ng2 guard中獲取目標路由canActivate?
我該如何讓每個路線參數變化的警衛監視例如。路由中的id改變了嗎?在Angular 2 get current route in guard
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;
}
}
建議答案使用private state: RouterStateSnapshot
然後this.route.url
不適合我的工作,因爲它拋出一個DI錯誤:
Error: Uncaught (in promise): Error: DI Error
Error: DI Error