我已经使用Angular 2+设置了动画以进行路由器转换。一切正常,直到我从页面导航下来为止。过渡后,新站点将向下滚动至另一个站点,或向下滚动至右端,因为它的内容较少。我可以在ngInit中使用window.scroll(0,0),但是如果我这样做,那么动画离开并且仍然可见的页面也将滚动到顶部,这看起来很荒谬。
有人有同样的问题和解决方案吗?
这是我的动画:
trigger('routerTransition', [
state('void', style({position:'absolute', width:'100%', height:'100%', opacity: 0}) ),
state('*', style({position:'absolute', width:'100%', height:'100%', opacity: 1}) ),
transition(':enter', [
style({transform: 'translateY(15%)', opacity: 0}),
animate('0.4s ease-in-out', style({transform: 'translateY(0%)', opacity: 1}))
]),
transition(':leave', [ // before 2.1: transition('* => void', [
style({transform: 'translateY(0%)'}),
animate('0.4s ease-in-out', style({transform: 'translateY(-15%)', opacity: 0}))
])
])
希望有人可以帮我这个忙。