1

管理パネルにログインしているときに、ナビゲーション バーやフッターなどの特定のコンポーネントをメインのホームページから非表示にする必要があります。私の管理コンポーネントは、呼び出されたときに管理モジュールに基づいて遅延ロードされます。ルートが動的/admin/loginではない場合、管理者ビューで必要なコンポーネントが期待どおりに非表示になります。 . 必要なコンポーネントで使用するルートの動的 ID を取得しています。以下は、メイン ページでアプリケーション ルートを読み取り、それに応じてコンポーネントを表示/非表示にするために使用している方法です。/admin/dashboard/admin/category/:categoryId/admin/user/:userIdActivatedRoute

Main.ts

 import { Router, NavigationEnd } from '@angular/router';

  public url: any;

  constructor(private router: Router) {

    this.router.events.subscribe((event) => {
      if (event instanceof NavigationEnd) {
        this.url = event.url;
      }
    })
  }

Main.html

<div class="main__container">
  <app-navbar
    *ngIf="url !== '/admin' && url !== '/admin/dashboard' && url !== '/admin/post-article' && url !== '/admin/video' && url !== '/admin/login' && url !== '/admin/sign-up' && url !== '/admin/category/:categoryId'">
  </app-navbar>
  <app-footer
    *ngIf="url !== '/admin' && url !== '/admin/dashboard' && url !== '/admin/category/:categoryId' && url !== '/admin/post-article' && url !== '/admin/video' && url !== '/admin/login' && url !== '/admin/sign-up'">
  </app-footer>
</div>
4

2 に答える 2