Javascript 路由到外部模块时出现角度动画错误[无法读取未定义的属性';播放']

Javascript 路由到外部模块时出现角度动画错误[无法读取未定义的属性';播放'],javascript,angular,animation,Javascript,Angular,Animation,我有使用角度动画加载到DOM中的组件。当路由器出口和路由是同一父模块的一部分时,路由器链路全部工作。不过,当单击导航到跨模块的路由器链接时,我会遇到此错误 模块A->所有路线都使用动画 模块B->所有路线都使用动画 模块B到模块A的路线->错误 日志错误处理程序.js:37无法读取未定义的属性“play” 记录错误处理程序.js:37未捕获(承诺中): NotSupportedError:未能对“元素”执行“动画”: 不支持部分关键帧 我认为这可能与不知道观看哪个路由器插座的动画有关。然而,我认

我有使用角度动画加载到DOM中的组件。当路由器出口和路由是同一父模块的一部分时,路由器链路全部工作。不过,当单击导航到跨模块的路由器链接时,我会遇到此错误

模块A->所有路线都使用动画

模块B->所有路线都使用动画

模块B到模块A的路线->错误

日志错误处理程序.js:37无法读取未定义的属性“play”

记录错误处理程序.js:37未捕获(承诺中): NotSupportedError:未能对“元素”执行“动画”: 不支持部分关键帧

我认为这可能与不知道观看哪个路由器插座的动画有关。然而,我认为
void
关键字是一个特殊的关键字,在找到它时可以解析

animations: [
    trigger('routeAnimation', [
        state('*',
            style({
                opacity: 1
            })
        ),
        transition('void => *', [
            style({
                opacity: 0,
                transform: 'translateX(-100%)'
            }),
            animate('0.8s ease-in')
        ]),
        transition('* => void', [
            animate('0.8s ease-out', style({
                opacity: 0,
                transform: 'translateY(100%)'
            }))
        ])
    ])
]

我通过在模块a和模块B中添加一个假动画来修复此问题。只需编写以下内容:

animations: [
    trigger('routeAnimation', [])
]
这不是一个很好的解决方案,但对我来说很有效