Как получить последнее событие firstChild маршрутизатора RoutesRecognized - PullRequest
0 голосов
/ 07 января 2019

Я использую анимацию от angular, я пытаюсь получить последний ключ firstChild с объектом анимации.

Потому что иногда я мог иметь это:

event.state.root.firstChild

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

event.state.root.firstChild.firstChild.firstChild

Так что мне нужна проверка, чтобы получить последний firstChild.data.animation в объекте event.state.root, пока это мой код:

router.events.subscribe(event => {
  if (event instanceof RoutesRecognized) {

    //const route = (event.state.root.firstChild.firstChild) ? event.state.root.firstChild.firstChild : event.state.root.firstChild;
    let route = event.state.root;

    route = this.getLastFirstChild(route);

    // code to implement animations
});


      getLastFirstChild(route): any {

        for (var key in route ) {   
          if (key === 'firstChild' ) {
            route = key.firstChild;
            console.log(route)
          }
        }
      }

Моя идея состояла в том, чтобы повторить вызов getLastFirstChild recursive, есть ли другой способ реализовать это с помощью более чистого решения?

...