基本的に、Angular (現在 4) の web-animations-api ポリフィルを使用して、要素に対して無限のアニメーションを実行したいと考えています。
基本的な非角度の例を見てみましょう:
var ball = document.getElementById('ball');
ball.animate([
{ transform: 'scale(0.5)' },
{ transform: 'scale(1)' }
], {
duration: 1000,
iterations: Infinity,
direction: 'alternate',
easing: 'ease-in-out'
});
.container {
position: relative;
width: 100%;
height: 200px;
}
.ball {
position: absolute;
width: 80px;
height: 80px;
border-radius: 50%;
border: 2px solid #E57373;
background: #F06292;
box-shadow: 0px 0px 15px #F06292;
top: 0;
left: 0;
bottom: 0;
right: 0;
margin: auto;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/web-animations/2.2.5/web-animations.min.js"></script>
<div class="container">
<div class="ball" id="ball"><div>
</div>
それをAngularに変換するにはどうすればよいですか?
これは私がこれまでに試したことですが、一度しか機能しません:
animations: [
trigger('scale', [
transition('* <=> *', animate('1s ease-in-out', keyframes([
style({ transform: 'scale(0.5)' }),
style({ transform: 'scale(1)' })
]))) // How do I specify the iterations, or the direction?
])
]
ElementRef を保存して上記の例のようにする代わりに、@angular/animation プラグインでそれを行う方法はありますか? または、このプラグインの目的を誤解している可能性がありますか?
前もって感謝します。