Angular - найти имя дочернего компонента

у меня есть родительский компонент с компонентом хлебных крошек и роутером:

<div class = "LG_popage-wrap">
  <div class = "LG_global-popage-crumbs" style = "text-align: center">
    <app-breadcrumb [breadcrumbsData] = "breadcrumb" ></app-breadcrumb>
  </div>
  <router-outlet></router-outlet>
</div>

Атрибуты хлебных крошек - это просто массив имени компонента:

  breadcrumb: Array<BreadcrumbModel> = [
    {
      componentName: 'StepSetupComponent',
      label: 'setup'
    },
    {
      componentName: 'StepFieldsComponent',
      label: 'fields'
    },
  ]

Мне нужно в моем дочернем маршруте (введенном с помощью маршрутизатора Outlet) сравнить имя текущего имени компонента с моим массивом. Я уже кодирую это, но его работа только в локальной среде, а не в производстве

export class BreadcrumbComponent implements OnInit {

  @Input() breadcrumbsData: Array<BreadcrumbModel> = [];
  breadcrumbsIndex: number;
  constructor(
    private route: ActivatedRoute,
    private router: Router
  ) {
    router.events.subscribe((val) => {
      // Route changing
      window.scrollTo(0, 0);

      this.breadcrumbsIndex = this.breadcrumbsData.findIndex(x => x.componentName === this.route.firstChild.component['name']);
    });
  }

  ngOnInit() {
    this.breadcrumbsIndex = this.breadcrumbsData.findIndex(x => x.componentName === this.route.firstChild.component['name']);
  }

}

Проблема заключается в следующем: this.route.firstChild.component ['name']

На местном языке он дает мне название компонента. Но в продукте он дает мне имя "N"

как я могу найти имя моего текущего компонента?

спасибо за вашу помощь.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
2
0
448
1

Ответы 1

При создании вашего проекта angular делает ваши коды уродливыми для меньшего размера пакета. из-за этого имена будут изменены.

Кроме того, это неправильный способ обработки панировочных сухарей. Попробуйте добавить свою метку к данным маршрута и получить ее там

Другие вопросы по теме