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