上で直接アニメーションハンドラを追加し、アニメーションのハンドラはinnerHTMLプロパティ、私はコンポーネントセレクタに直接それを置くしたい角度2 - すべての角2 APIのアニメーションの例では、セレクタ
に実装されています。以下の例では
、[@visibility]="visibility"
はdiv
タグにあるが、私はselector: 'vps-node'
でそれをしたいので、私のテンプレートが
@Component({
selector: 'vps-node',
template: `<div [@visibility]="visibility"><ng-content></ng-content></div>`,
animations: [
trigger('visibility', [
state('in', style({ transform: 'translateX(0)' })),
transition('void => *', [
animate(300, keyframes([
style({ opacity: 0, transform: 'translateX(-100%)', offset: 0 }),
style({ opacity: 1, transform: 'translateX(15px)', offset: 0.3 }),
style({ opacity: 1, transform: 'translateX(0)', offset: 1.0 })
]))
]),
transition('* => void', [
animate(300, keyframes([
style({ opacity: 1, transform: 'translateX(0)', offset: 0 }),
style({ opacity: 1, transform: 'translateX(-15px)', offset: 0.7 }),
style({ opacity: 0, transform: 'translateX(100%)', offset: 1.0 })
]))
])
])
]
})
あなたはComponent' @ ''上host'プロパティを試してみましたか?次のようになります: 'host:{'@visibility': 'visibility'}'? – PierreDuc
はい、残念ながらアニメーションをトリガーしていないようです。 – ndesign11