【发布时间】:2018-09-03 13:55:40
【问题描述】:
我有一个导航栏组件,在它的ngOnInit 函数中我检查了用户是否登录,如果用户登录然后我将isAuthorized 更改为true,它的默认值为false,然后我在我的菜单lis 中与*ngIf="isAuthorized" 核对。
现在,当用户未登录时,我的某些菜单项未创建,并且当用户单击 post like 按钮时,如果用户未登录,我已检查以显示登录模式。用户登录后,我可以将navbarComponent 的isAuthorized 从false 更改为true,但我的导航栏组件无法检测到更改并创建其他菜单。
内部登录功能我有:
this.navbar.refresh();
设置令牌后,在导航栏组件内部,我有一个刷新功能:
refresh() {
this.isAuthorized = true;
this.changeDetector.detach();
setInterval(() => {
this.changeDetector.reattach();
// if (!this.changeDetector['destroyed']) {
this.changeDetector.detectChanges();
// }
this.changeDetector.detach();
}, 10000);
}
我想要的主要是防止用户使用模式登录时重新加载,并显示其他菜单项。
【问题讨论】:
-
你在角区吗?
-
你究竟为什么要分离变更检测器?
-
@TomaszKula 只是试图解决这个问题,其他地方建议这个,我也尝试过简单的
detectChanges() -
@yurzui 不明白你的问题。
标签: angular data-binding angular-changedetection