我有一个像这样导航的组件
this.router.navigate(['results'], { state });
一旦在那里我抓住了contructor中的数据
constructor(private router: Router) {
const { state } = this.router.getCurrentNavigation().extras;
}
我想设置一个警卫来检查这些数据的存在,否则导航到其他地方
@Injectable()
export default class RouteHasDataGuard implements CanActivate {
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
return !!state.root.data;
}
}
但这不起作用。你能帮我解决这个问题吗?