可选择在Angular App中显示导航栏

AngularJS的初学者。 我想选择性地显示我的侧边导航栏。所以说我有5个组件Home,SideBar,Page1,Page2和Page3。如果在Home或Page2上显示SideBar,但如果在Page1或Page3上不显示。在我的app.component.html中的一些伪代码,我想这样。

<app-sidebar></app-sidebar>  //Display for Home, Page2
<router-outlet></router-outlet>

什么是最好的实践方式,什么是快速和肮脏的方式来实现呢?我已经看到了类似的行为,在登录页面的上下文中使用CanActivate,但无法真正弄清楚它将如何满足我的需求。

解决方案:

定义服务并编写一个通用的方法来设置一个变量的值。

class helperService {

 public bSubject: BehaviorSubject<boolean> = new BehaviorSubject(true);

    setNavBar(val){
       this.bSubject.next(val);
    }
 public getNavBar(): boolean {
        return this.bSubject.value;
    }
}

在每个组件中

 if (this.helperService.getNavBar()) {
      this.show=true;
    }else{
this.show=false;
}

并根据

ngOninit(){

this.helperService.setNavBar(false);
}

给TA打赏
共{{data.count}}人
人已打赏
未分类

在C#中使用并行处理来测试网站抵御DDOS的能力。

2022-9-8 20:43:40

未分类

如何在ZK 7.X中订阅KeyEvent?

2022-9-8 20:43:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索