本文是 100+前端几何学应用案例 专栏的第二篇文章, 在第一篇文章几何学在前端边界计算中的应用和原理分析 中我介绍了几何学在前端领域里的应用, 同时用 vue3 带大家一起实现了常见图形的边界计算算法...用鼠标在画布里拖动即可创建任意大小比例的图形, 为了实现这一效果, 我们需要做如下准备:
定义图形的schema结构
根据鼠标光标的位置计算图形创建的元信息(图形id, 顶点坐标, 宽高样式等属性)
1...根据鼠标光标的位置计算图形创建的元信息
我们都知道, 要想通过鼠标拖动来创建任意一个矩形, 我们需要知道几个条件:
鼠标按下的初始点的坐标
鼠标拖动过程中的实时位置
这两个问题其实都可以在全局实现, 基于组件设计的原子化原则...defineExpose, 这个 api 作用就是把需要暴露的数据导出,供父组件使用,相当于子传父, 我们可以在父组件里拿到暴露的值, 在这里我们把画布的 dom 暴露出来, 让父组件可以拿到子组件的...我们在图中可以看出当拖动鼠标时矩形是实时跟随鼠标创建的, 要想实现这个效果, 我们需要对鼠标的mousemove 进行监听, 并动态更新矩形的元数据, 如下:
const handleMouseChange