我正在为页面中的 :enter 和 :leave 制作动画。
从'@angular/core'导入{动画,AnimationEntryMetadata,状态,样式,过渡,触发器}; 导出 const slideInDownAnimation: AnimationEntryMetadata = trigger('routeAnimation', [ 状态('*', 风格({ 变换:'translateY(0)' }) ), 过渡(':进入',[ 风格({ 变换:'翻译Y(100%)' }), 动画('.5s 线性') ]), 过渡(':离开',[ animate('.5s 线性', style({ 变换:'translateY(-100%)' })) ]) ]);
在组件中:
从'./../route-animation/animations'导入{slideInDownAnimation}; 从'@angular/core'导入{组件,OnInit,HostBinding}; @零件({ 选择器:'应用程序构建', templateUrl: './building.component.html', styleUrls: ['./building.component.scss'], 动画:[ slideInDown动画 ] }) 导出类 BuildingComponent 实现 OnInit { @HostBinding('@routeAnimation') routeAnimation = true; @HostBinding('style.display') display = 'block'; @HostBinding('style.position') 位置 = '绝对'; 构造函数(){} ngOnInit() { } }
并且这个动画在几个组件中被重用。
在这些组件中的每一个中,都有一个按钮可以转到具有相同动画的下一页。
我需要用动画为这些组件创建通用条件,以便动画只有在按下这些按钮时才起作用。可以借助某种通用服务。
每次您进入动画页面时,此动画都会起作用,而我只需要仅在单击这些按钮时动画才能起作用。