gpt4 book ai didi

angular - 隐藏特定路线上的标题 - Angular 6

转载 作者:行者123 更新时间:2023-12-05 00:59:47 24 4
gpt4 key购买 nike

我正在尝试隐藏标题,仅在一条 route 。

假设我有三个路由,route1route2route3

我有一个名为 app-header 的组件。

我希望在用户输入 route1 时隐藏组件 app-header 并在其他 2 个路由中显示此组件。

我在 stackoverflow 上找到了一些主题,但没有一个对我有帮助 =/

你们能给我一些帮助吗?

这是我的代码:

  • app.component.ts

    export class AppComponent implements OnInit {
    showHeader = true;

    constructor(
    private router: Router
    ) {
    this.router.events.subscribe(event => this.modifyHeader(event));
    }

    ngOnInit() {
    }

    modifyHeader(location) { // This method is called many times
    console.log(location.url); // This prints a loot of routes on console
    if (location.url === '/route1') {
    this.showHeader = false;
    } else {
    this.showHeader = true;
    }
    }
    }
    • app.component.html

      <app-header *ngIf="showHeader"></app-header>
      <router-outlet></router-outlet>

我正在使用 Angular 6.1.4

最佳答案

由于您知道要检测哪个路由,并且似乎在应用程序组件中有解决方案,我建议过滤路由器事件,如下所示:

export class AppComponent implements OnInit {
showHeader = true;

constructor(
private router: Router
) {
this.router.events.pipe(
filter(e => e instanceOf NavigationEnd)
).subscribe(event => this.modifyHeader(event));
}

ngOnInit() {
}

modifyHeader(location) { // This method is called many times
console.log(location.url); // This prints a loot of routes on console
if (location.url === '/route1') {
this.showHeader = false;
} else {
this.showHeader = true;
}
}
}

关于angular - 隐藏特定路线上的标题 - Angular 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52481465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com