我为我的应用程序的所有页面设置了路由动画,也就是说,每个可以路由到的组件都有
@Component({
selector: '...',
templateUrl: '...',
styleUrls: ['...'],
animations: [
trigger('flyInOut', [
state('in', style({ opacity: 1, transform: 'translateX(0)' })),
transition('void => *', [
style({
opacity: 0,
transform: 'translateX(-100%)'
}),
animate('0.3s ease-in')
]),
transition('* => void', [
animate('0.3s 10 ease-out', style({
opacity: 0,
transform: 'translateX(100%)'
}))
])
])
]
})
在他们的.ts
档案和
<section [@flyInOut]="active">
...
</section>
在其模板中。所以理论上,每一页都应该从屏幕的左侧飞入并从右侧退出。这在桌面 Chrome 上完美运行,没有例外。
然而,在我运行移动 Chrome 55.0.2883.91(桌面:.87)的平板电脑上,动画只在某些视图上播放,而且似乎只在第一次访问该页面时播放。我在这里缺少移动浏览器的东西吗?
顺便说一下,这是使用 Angular 4.0.0-beta.1 的。