アニメーション入力パラメータをコンポーネントプロパティにバインドします。角度4.2.0の新しいアニメーション機能を使用してそれを行う方法はありますか?アニメーション入力パラメータをコンポーネントのプロパティにバインドします。4.2.0
は例えば、私は、ユーザーがオブジェクトの座標を設定すると、オブジェクトはそれに応じて移動する必要があります:
マイapp.component.ts:
import { Component } from '@angular/core';
import { trigger,state,style,animate,transition,animation,useAnimation} from '@angular/animations';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
animations: [trigger('move', [
transition('start <=> finish',
useAnimation(animation([
animate(1000, style({top: '{{x}}px',left:'{{y}}px'}))
], { params: { x: 100, y: 100 }})))
])]
})
export class AppComponent {
moveAnimation = { value: 'start', x: 10, y: 10 };
move() {
this.moveAnimation.value = this.moveAnimation.value == 'finish' ? 'start' : 'finish';
}
}
とapp.component.html:
X:<input type="number" [(ngModel)]="moveAnimation.x"><br/>
Y:<input type="number" [(ngModel)]="moveAnimation.y"><br/>
<button (click)="move()">Move</button><br/>
<div class="container">
<div class="box" [@move]="moveAnimation"></div>
</div>
そしてapp.component.css
.container {
position: relative;
width: 100px;
height: 100px;
border: 1px solid black;
}
.box {
background-color: pink;
position: absolute;
width: 20px;
height: 20px;
border-radius: 10px;
top: 50px;
left: 50px;
}
あなたは[この](https://github.com/angular/angular/blob/master/packages/animations/を読んだことがありますsrc/animation_metadata.ts#L683)? –
あなたはあなたが使っているCSSを共有してもらえますか、私はこれを見直そうとしています。 – MichaelSolati
@MichaelSolatiが質問を更新しました。ありがとうございました。 – koryakinp