angular - @angular/cdk/在 panzoom 中拖放
问题描述
我正在使用 Angular 10 和panzoom。在 panzoom 元素内,我有使用@angular/cdk/drag-drop的可拖动元素。
这工作正常,直到我用 panzoom 放大或缩小。放大时,拖动会加速并且比我的鼠标移动得更快。缩小时它会减速并且比我的鼠标移动得更慢。
我认为这是由于像素位置与全景缩放中的缩放元素以某种方式造成的。
我找到了处理它的这个答案,但我无法复制它,它正在使用 JQuery 可拖动。
有谁知道如何使可拖动元素在使用 panzoom 和 angular-cdk-drag-drop 放大或缩小时保持与鼠标相同的速度?
谢谢你。
解决方案
这已经在这里得到了回答:Angular CDK 拖放与 CSS-property “transform: scale(0.5)” 的缩放不能按预期工作
解决方案是使用 CDK 的 cdkDragConstrainPosition 输出来调整当前缩放比例。
您可以通过以下方式从 panzoom 获取当前比例:
console.log(instance.getTransform()); // prints {scale: 1.2, x: 10, y: 10}
可以在此处找到带有 panzoom 的工作 StackBlitz:https ://stackblitz.com/edit/angular-ivy-b2816b?file=src/app/app.component.ts
推荐阅读
- javascript - Adding gravity to billiard physics in JS canvas animation
- ffmpeg - 当我尝试使用解流器从微软团队下载视频时出现未知的 FFmpeg 错误
- javascript - 显示结果 mongodb nodejs
- vue.js - Vuelidate 两个表单在一个组件中
- vue.js - 如何在 Vue-Application 中全局使用导入?
- android - 世博会:我的应用因位置政策而被 Google Play 拒绝
- android - 用于连续存储数据的 Android 共享首选项
- go - Cloud Firestore SDK(Golang)中的调试权限被拒绝
- sql - 显示最高价值的交易
- eclipse-hawkbit - 设置hawkbit更新服务器时出现很多问题