使用@angular/cdk/拖放中的cdkDragFreeDragPosition平滑移动到x和y位置

使用@angular/cdk/拖放中的cdkDragFreeDragPosition平滑移动到x和y位置,angular,angular-material,angular-cdk-drag-drop,Angular,Angular Material,Angular Cdk Drag Drop,我正在用Angular 10创建一个实时系统,用户1在屏幕上拖动项目,项目的位置在用户2屏幕上更新。我用这个 我通过将cdkDragFreeDragPosition绑定到对象的xPos和yPos属性来更新用户2屏幕上的位置,这些属性在用户1删除对象时更新: [cdkDragFreeDragPosition]=“{x:wsc.xPos,y:wsc.yPos}” 这是可行的,但是用户2的对象位置会跳跃,而不是平滑地移动到新位置,这有点难看 有没有办法让用户2屏幕上的对象从初始位置平稳地移动到新位置,

我正在用Angular 10创建一个实时系统,用户1在屏幕上拖动项目,项目的位置在用户2屏幕上更新。我用这个

我通过将
cdkDragFreeDragPosition
绑定到对象的
xPos
yPos
属性来更新用户2屏幕上的位置,这些属性在用户1删除对象时更新:

[cdkDragFreeDragPosition]=“{x:wsc.xPos,y:wsc.yPos}”

这是可行的,但是用户2的对象位置会跳跃,而不是平滑地移动到新位置,这有点难看

有没有办法让用户2屏幕上的对象从初始位置平稳地移动到新位置,请?

根据,只需将
过渡
添加到
.cdk拖动
类即可

然而,这也会影响“手动”拖动长方体-在用户拖动长方体时产生某种“延迟”。因此,您必须排除添加到当前正在拖动的元素中的
.cdk drag dragging
类:

.cdk-drag:not(.cdk-drag-dragging) {
  transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
}
当然,在其他一些情况下,您可能希望根据您的用例包括/排除其他类,但这应该给您提供基本的想法