在角度 2 中,我尝试使用 @angular/animations
来制作一个组件,其中 <li>
元素跟随鼠标(ondrag)
并在(ondragend)
后保持在原位。我对角度很陌生,对解决这个问题的最佳方法非常迷茫。我希望能够将我的组件中的字符串注入回动画中,但不确定这是否可能。请参阅下面的示例。
import { Component } from '@angular/core';
import { trigger, state, style, animate, transition } from '@angular/animations';
@Component({
selector: 'test-test',
template: `
<li
*ngFor="let letter of list"
[@lettereState]="letter.state"
(ondrag)="letter.toggleState(); mouseCords($event.clientX, $event.clientY);"
(ondragend)="letter.toggleState()">
{{letter}}
</li> `,
animations: [
trigger('letterState', [
state('active', style({
transform: //'translate(Inject the cordinates here {mouseX}, {mouseY})',
})),
])
],
})
export class LetterBankComponent {
constructor(
) {}
private list = ['a', 'b', 'c']
private mouseX = ''
private mouseY = ''
}
mouseCords(x, y) {
mouseX = x;
mouseY = y;
}
在将数据注入动画方面,这是一个功能请求,可能很快就会推出(见 https://github.com/angular/angular/issues/9668(。 就让可拖动元素向元素添加[draggable]
而言,似乎可以解决这个问题