Angular 显示客人的注册/登录链接,登录时隐藏?
我有一个导航栏,上面有三个项目Angular 显示客人的注册/登录链接,登录时隐藏?,angular,angular-services,Angular,Angular Services,我有一个导航栏,上面有三个项目注册,登录和注销 我试图在用户登录/注销时更新导航栏项目的可见性 我正在使用通知服务通知我的TopNav组件更新名为loggedIn的变量,该变量反过来显示/隐藏上述元素 问题是:通知服务不向TopNavComponent发送警报 我调试了我的代码,有时loginStatusChanged$observators数组是空的,这是不应该发生的,因为我应该订阅通知 TopNavComponent.ts 从'app/includes/services/notifica
注册
,登录
和注销
我试图在用户登录/注销时更新导航栏项目的可见性
我正在使用通知服务通知我的TopNav组件更新名为loggedIn
的变量,该变量反过来显示/隐藏上述元素
问题是:通知服务不向TopNavComponent发送警报
我调试了我的代码,有时loginStatusChanged$
observators数组是空的,这是不应该发生的,因为我应该订阅通知
TopNavComponent.ts
从'app/includes/services/notification.service'导入{NotificationService};
从“app/includes/services/auth services/authentication.service”导入{AuthenticationService};
@组成部分({
选择器:“应用程序topnav”,
模板:`
登记
登录
`,
提供者:[身份验证、通知服务、身份验证服务]
})
导出类TopNavComponent实现OnInit
{
认购:认购;
loggedIn=this.auth.loggedIn();
构造函数(私有auth:auth,私有authService:AuthenticationService,私有路由器:路由器,私有notifService:NotificationService){}
// =====================================================
恩戈尼尼特()
{
//倾听登录更改通知并采取相应行动
this.subscription=this.notifService.loginStatusChanged$.subscription(
() => {
//更新登录状态
this.loggedIn=this.auth.loggedIn();
}
);
}
// =====================================================
}
好上帝!我花了2天的时间试着调试这个东西,并且在发帖后花了2分钟;我意识到我必须从TopNavComponent.ts中的提供者列表中删除NotificationService
提供者:[身份验证,通知服务,身份验证服务]
以防有人面临这个问题 请做一把小木棍或小提琴?很难找到你的问题here@Mr_Perfect我的感情正是如此!但这已经不重要了,我只是找到了解决办法!