Angular 是否对任何活动零部件隐藏零部件?

Angular 是否对任何活动零部件隐藏零部件?,angular,angular6,angular8,Angular,Angular6,Angular8,有一个组件 它从服务获取数据。此服务中有变量show:boolean,用于在页面上显示/隐藏组件 @Injectable({ providedIn: "root" }) export class TabService { show = false; showHide(status: boolean) { this.show = status; } get() { return this.show; } } 问题

有一个组件

它从服务获取数据。此服务中有变量
show:boolean
,用于在页面上显示/隐藏组件

@Injectable({ providedIn: "root" })
export class TabService {
    show = false;
    showHide(status: boolean) { 
        this.show = status;
    }

     get() {
          return this.show;
     }
}
问题是我需要在每个我想隐藏组件的组件中调用
tabService.showHide(false)

组件
如果失去焦点,则应始终关闭,而不是关闭活动区域

在我的情况下,我打破了干涸的原则

例如,当用户激活任何组件时,我必须执行以下操作:

ngOnInit() {
  tabService.showHide(false)
}

因此,这部分代码在每个组件中重复,我想在其中隐藏tabsComponent,创建一个基类,并在该类的构造函数中调用您的服务

export class BaseComp  {

  public IsHide: boolean;
  constructor() {
    this.IsHide = tabService.showHide(false);
  }

}
在不同的组件中继承此BaseComp

export class YourComponent extends BaseComp implements OnInit  {

constructor() {
  super(); // calls the base constructor 
  console.log(this.IsHide); // this IsHide is of Base class
}

ngOnInit() {

}

}

希望这有帮助

你能发布一个组件代码的例子来说明你的问题是什么吗。我不明白这里的问题是什么。当然,请看我更新的问题,那么为什么不将服务注入到该组件中呢?这个问题仍然没有包含足够的信息来说明您遇到的问题。因为我有很多组件,我应该在其中选择要显示/隐藏的服务。一行代码是干的,请发布
代码和其他组件的用法