Angular2 Exploring Resolved Data in canActivate Guard?

回眸只為那壹抹淺笑 提交于 2019-12-09 15:52:10

问题


Is it possible to access resolved data of a route (-Resolver) inside a canActivate guard. Currently I can access the resolved data in the component by

ngOnInit() {
    this.route.data
        .subscribe((data: { example: Array<Object> }) => {
            this.example = data.example;
            console.log('example resolver', this.example);
        });
}

How could I manage that in the canActivate guard? This is not working:

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);
        });
}

回答1:


No, you can't because canActivate Method is called before resolve, so you can't get the data

Guard Processing:

  1. canDeactivate

  2. canLoad

  3. canActivateChild

  4. canActivate

  5. resolve



来源:https://stackoverflow.com/questions/42652708/angular2-exploring-resolved-data-in-canactivate-guard

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!