【发布时间】:2020-01-29 17:32:38
【问题描述】:
如何使动画在浏览器上运行?尤其是在@Component 中使用了主机之后
这是我的 menu.component.ts:
@Component({
selector: 'app-menu',
templateUrl: './menu.component.html',
styleUrls: ['./menu.component.scss'],
host: {
'[@flyInOut]': 'true',
'style': 'display: block;'
},
animations: [
flyInOut()
]
})
这是我的 app.animation.ts:
export function flyInOut() {
return trigger('flyInOut', [
state('*', style({
opacity: 1,
transform: 'translateX(0)'
})),
transition(':enter',[
style({transform: 'translateX(-100%)',
opacity: 0
}),
animate('500ms ease-in')
]),
transition(':leave', [
animate('500ms ease-out', style({
transfrom: 'translateX(100%)',
opacity: 0
}))
])
])
}
我希望动画可以在浏览器上运行,但在我使用主机后它无法运行。
【问题讨论】:
-
试试这段代码看看会发生什么
animations: [ flyInOut ](去掉括号) -
嗨,请查阅有关可重用动画的角度文档angular.io/guide/reusable-animations 我知道 AOT 不支持导出的函数。作为错误参考检查github.com/angular/angular/issues/15587
-
@snsakib 我试过了,但它给了我错误
标签: javascript css angular visual-studio-code components