Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 显示客人的注册/登录链接,登录时隐藏?_Angular_Angular Services - Fatal编程技术网

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我的感情正是如此!但这已经不重要了,我只是找到了解决办法!