angular - 如何从 authguard.ts 订阅 .ts 文件中的 observable
问题描述
我已经实现了一个 authguard 服务,其中包括以下 void 服务方法。
loadOrganizations() {
console.log("loading organizattions")
this.getOrganizations().subscribe(
(results) => {
const organizationList = [];
if (results.organizations) {
results.organizations.forEach((element) => {
this.appendOrganization(element, organizationList);
this.loadChildrenOrganization(element.children, organizationList);
});
}
this.organizations$.next(organizationList);
this.organizations$.complete();
},
(error) => {
this.organizations$.next([]);
this.organizations$.complete();
}
);
}
我的身份验证服务如下。
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
this.appService.loadOrganizations();
console.log("authuard is calling")
return true;
}
我如何订阅一个 observable,我们在另一个 ts 文件中获取组织的数据(来自 authguard)。(在 ngOnit 内??)
解决方案
推荐阅读
- javascript - 使用 SVG 和车把的动态发票设计
- html - iFrame 没有并排响应(当屏幕变小时,内联块中断)
- sql - 在plsql的一个场景中获取数据
- android - 在内部方法中访问 Val
- php - 使用“DisplayCustomization”挂钩
- javascript - 甜蜜警报,但按钮在最初几秒钟内被禁用
- angular - 如何使用带有参数的选择器在效果中选择表单 ngrx 存储
- mesh - 用于测试从 3d 实体中提取属性的程序的网格(stl 文件)源?
- android - recyclerview.addOnItemTouchListener 我需要将多个产品添加到购物车 recyclerview
- mysql - 无法在 PhpMyAdmin -1102 错误中创建新的数据库名称