参考:How can I detect service variable change when updated from another component?
当前行为:当标题组件中的变量值更改时,用户登录并且菜单项不会更新。仅在刷新页面时更新。
预期的行为:用户立即登录-隐藏菜单中的某些菜单项。
页眉组件包含菜单并已订阅身份验证服务:
isAuthenticated: boolean = false;
this.items = [
{
title: 'Home',
link: '/',
home: true,
},
{
title: 'Dashboard',
link: '/dashboard',
hidden: !this.isAuthenticated,
},
]
ngOnInit() {
this.authService.isAuthenticated().subscribe(res => this.isAuthenticated = res);
}
答案 0 :(得分:-1)
您应该使用数组过滤器 例如
this.authService.isAuthenticated().subscribe(res=>{
this.isAuthenticated = res
res.filter(elem=>{
this.isAuthenticated = res
}
} );