我得到了一个非常混乱的结果,并且不确定发生了什么。我怀疑这是一个严格的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 {}
时,该对象为空。我无法弄清楚为什么,我也不知道如何调试原因。
答案 0 :(得分:0)
数据是您在路由配置中静态定义的对象。例如,我在数据obj中使用title来动态显示页面标题取决于路由,每个路由都有自己的数据对象。
const routes: Routes = [
{
path: 'path',
component: ContainerComponent,
canActivate: [AuthGuard],
data: {title: 'My Chart'}
},
....
]