【发布时间】:2018-04-25 17:00:18
【问题描述】:
这是我想要实现的,我想要一个在更改页面时向左和向右滑动的过渡,但是我的代码不起作用,事件已经触发,然后当我滚动页面时它触发了这么多事件(我用 console.log 测试)
这是我的代码的样子
app.component.html:
<main [@routerTransition]="getRouterOutletState(o)">
<router-outlet #o="outlet"></router-outlet>
</main>
这是我的 app.component.ts :
animations: [
trigger('routerTransition', [
state('in', style({ transform: 'translateX(0)' })),
transition('out => in', [
style({ transform: 'translateX(-100%)' }),
animate(400)
]),
transition('in => out', [
animate(400, style({ transform: 'translateX(100%)' }))
])
]),
]
})
export class AppComponent {
fadePageInOut: string = 'in';
getRouterOutletState(outlet) {
console.log(outlet + " event triggered outlet");
this.fadePageInOut = (this.fadePageInOut === 'in' ? 'out' : 'in');
}
}
为什么它不起作用?我在这里错过了什么?我的代码结果的console.log是这样的:
当我上下滚动页面时事件增加,我必须为事件触发做错事,但转换仍然无法工作
【问题讨论】:
标签: angular animation css-transitions transition router-outlet