Angular - найти имя компонента Children - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть родительский компонент с компонентом breadcrumb и выходом маршрутизатора:

<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 - это просто массив с именем компонента:

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

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

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']);
  }

}

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

На локальном он дает мне имякомпонента.Но в Prod он дает мне имя «N»

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

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

1 Ответ

0 голосов
/ 29 ноября 2018

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...