对象显示带有数据的属性;财产显示空白

时间:2017-04-17 23:39:03

标签: javascript angular

我得到了一个非常混乱的结果,并且不确定发生了什么。我怀疑这是一个严格的Javascript问题,但我不是。

我有一个keystore.jks警卫,我试图从路线解析器中检索数据。

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 {} 时,该对象为空。我无法弄清楚为什么,我也不知道如何调试原因。

1 个答案:

答案 0 :(得分:0)

数据是您在路由配置中静态定义的对象。例如,我在数据obj中使用title来动态显示页面标题取决于路由,每个路由都有自己的数据对象。

const routes: Routes = [
{
  path: 'path',
  component: ContainerComponent,
  canActivate: [AuthGuard],
  data: {title: 'My Chart'}
 },
 ....
]