我正在使用角度动画,我试图获取带有动画对象的最后一个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递归,是否还有另一种方法可以使用更干净的解决方案来实现此目的?