【发布时间】:2017-09-13 15:35:15
【问题描述】:
我得到了一个相当混乱的结果,不知道发生了什么。我怀疑这是一个严格的 Javascript 问题,但我不是。
我有一个CanActivate 守卫,我正在尝试从路由解析器中检索数据。
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {
this.userService.watchCurrentUser().subscribe((currentUser: User) => {
console.log(route, route.data);
});
return Observable.of(true);
}
数据显示如下:
ActivatedRouteSnapshot {url: Array(2), params: Object, queryParams: Object, fragment: null, data: Object…} Object {}
虽然有点难看,但您可以看到数据对象存在于快照中,如果我展开它,它会包含我期望的所有数据。但是,您也可以看到,当我登录route.data 时,该对象是空白的。我不知道为什么,也不知道如何调试。
【问题讨论】:
-
你有没有尝试扩展这个看似空白的对象?
-
@Thomas 是的,我说它是空白的,因为它实际上是一个空对象。展开后,它只包含原型,就像任何空对象一样。
标签: javascript angular