角路由器过渡动画不符合顶部

时间:2018-07-12 14:55:20

标签: angular transition

我已经使用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}))
  ])

])

希望有人可以帮我这个忙。

0 个答案:

没有答案