[英]Angular2 Exploring Resolved Data in canActivate Guard?
是否可以在canActivate防护中访问路由的已解析数据(-Resolver)。 目前,我可以通过以下方式访问组件中的已解析数据:
ngOnInit() {
this.route.data
.subscribe((data: { example: Array<Object> }) => {
this.example = data.example;
console.log('example resolver', this.example);
});
}
我该如何在canActivate Guard中进行管理? 这不起作用:
constructor(private route: ActivatedRoute) {}
canActivate(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot,
): boolean {
this.route.data
.subscribe((data: { example: Array<Object> }) => {
this.example = data.example;
console.log('example resolver', this.example);
});
}
不可以 ,因为不能在解析之前调用canActivate方法,所以不能获取数据
警卫处理 :
canDeactivate
canLoad
canActivateChild
canActivate
解决
嘿,我也遇到类似的问题。
我有一个解决方法,看看这是否对您有帮助,以及那些寻求类似问题的人有帮助。
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
window.location.href = route.root.children[0].routeConfig.resolve.url;
return true;
}
在route.root.children [i] .routeConfig.resolve下可用
我无法获取数据,但在路由中传递解析可以达到目的。
resolve: {
url: "<myurl>"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.