大家好,这是我开设第一个系列文章,旨在提升自己的源码阅读和调试能力、学习更多的优秀代码与逻辑。
如何调试
- 克隆最新的 VueUse 仓库
git clone https://github.com/vueuse/vueuse.git
- 安装依赖,因为依赖管理器配置的是
pnpm
,所以使用pnpm
来安装依赖pnpm install
- 启动项目
pnpm dev
- 如果没有意外的话,就能在浏览器上看到运行在本地的官方文档页面
- 在
/packages/core
文件夹下找到想要调试的目标方法,在 VSCode 和浏览器源代码中设置断点
接下来就可以开始愉快的调试了!
useDraggable
让元素变得可拖动,有两种使用方式:
- Hook - 源码位置
/useDraggable/index.ts
- Component - 源码位置
/useDraggable/component.ts
Hook 方式
使用示例
通过useDraggable
返回的style
去改变元素样式来实现拖拽效果
<script setup lang="ts">
import { ref } from 'vue'
import { useDraggable } from '@vueuse/core'
const el = ref<HTMLElement | null>(null)
const { x, y, style } = useDraggable(el, {
initialValue: { x: 80, y: 80 },
preventDefault: true,
exact: true,
})
</script>
<template>
<div
ref="el"
:style="style"
>