Как убирать панель (создания, изменения) сущности при изменении маршрута?

В Angular существует несколько способов управления панелями создания и изменения сущностей в зависимости от маршрута. Вот некоторые из них:

1. Использование условных операторов *ngIf: Вы можете добавить директиву *ngIf к элементу, представляющему панель создания или изменения сущности, и проверить текущий маршрут. В зависимости от маршрута, вы можете скрыть или показать эту панель. Например:

<div *ngIf="currentRoute === '/create'">
  <!-- Панель создания сущности -->
</div>
<div *ngIf="currentRoute === '/edit/{{ entityId }}'">
  <!-- Панель изменения сущности -->
</div>

Вы можете получить текущий маршрут в компоненте, используя ActivatedRoute из модуля '@angular/router':

import { ActivatedRoute } from '@angular/router';

@Component({ ... })
export class YourComponent implements OnInit {
  currentRoute: string;

  constructor(private route: ActivatedRoute) { }

  ngOnInit() {
    this.currentRoute = this.route.snapshot.routeConfig.path;
  }
}

2. Использование динамического рендеринга компонентов: Более гибким подходом может быть динамическое создание и рендеринг компонентов при изменении маршрута. Для этого вы можете использовать директиву structural directive - ngComponentOutlet. Например:

<ng-container *ngComponentOutlet="currentRoute === '/create' ? CreateComponent : EditComponent"></ng-container>

В этом примере при маршруте '/create' будет создан и отображен компонент CreateComponent, а при маршруте '/edit/{{ entityId }}' будет создан и отображен компонент EditComponent.

3. Использование роутера вложенных маршрутов: Если у вас есть более сложные требования, связанные с управлением панелей создания и изменения сущностей, вы можете использовать роутер вложенных маршрутов. Вложенные маршруты позволяют вам определить разные компоненты для разных маршрутов, который могут быть задействованы одновременно. Например:

const routes: Routes = [
  { path: 'create', component: CreateComponent },
  { path: 'edit/:id', component: EditComponent }
];

В этом случае, при маршруте '/create' будет отображен компонент CreateComponent, а при маршруте '/edit/{{ entityId }}' будет отображен компонент EditComponent.

В зависимости от ваших конкретных требований и сложности вашего приложения, вы можете выбрать один из этих подходов или комбинировать их, чтобы достичь желаемого результата.