如何获得路由器事件RoutesRecognized的最后一个firstChild

时间:2019-01-07 18:59:26

标签: router angular-animations

我正在使用角度动画,我试图获取带有动画对象的最后一个firstChild键。

因为有时我可以拥有这个:

event.state.root.firstChild

还有其他一些我可以做到的:(因为我在模块中使用了延迟加载并测试了嵌套路由):

event.state.root.firstChild.firstChild.firstChild

因此,我需要进行验证以获取event.state.root对象中的最后一个firstChild.data.animation,这是我的代码,直到那为止:

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递归,是否还有另一种方法可以使用更干净的解决方案来实现此目的?

0 个答案:

没有答案