我有一个使用AuthGuard重定向到登录页面的应用程序,该登录页面然后执行身份验证,然后重定向回主页。
经过反复试验,我发现以下代码似乎完全破坏了导航(因此,单击菜单上没有任何作用):
登录页面调用
this.layoutService.fullPage.next(true);
这是一项如下服务:
export class LayoutService {
fullPage: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
哪个组件正在监听
this.fullPageSub = this.layoutService.fullPage.asObservable().subscribe(x => this.fullPageChild = x);
然后使用此fullPageChild删除用户界面的一部分:
<div class="layout-wrapper" (click)="onWrapperClick()"
[ngClass]="{'layout-wrapper-static': layoutMode === 'static',
'layout-wrapper-active': mobileMenuActive,
'layout-menu-horizontal': layoutMode === 'horizontal',
'layout-rtl': isRTL}" *ngIf="!fullPageChild">
这是一个有点复杂的解决方案,但是我正在处理一个商业模板,我试图避免对该模板进行大规模更改。
所以问题是为什么这会完全中断导航,而日志中没有任何内容表明正在发生任何问题?