Skip to content

VueUse

v10.x
TypeScript

概述 ​

VueUse 是 Vue 3 的组合式工具函数集合,提供了 200+ 实用的 composables,涵盖状态管理、浏览器 API、传感器、动画等多个领域。

已配置自动导入

项目已配置 @vueuse/core 自动导入,大部分函数无需手动 import。

但 @vueuse/router 必须手动导入。

常用工具 ​

useStorage - 持久化存储 ​

持久化状态

refDebounced - 防抖 Ref ​

防抖搜索
注意事项

refDebounced 接收的是 Ref 对象,不是函数。

typescript
// ✅ 正确
const debouncedKeyword = refDebounced(keyword, 500)

// ❌ 错误 - 这是 useDebounceFn 的用法
const debouncedFn = useDebounceFn(() => search(), 500)

useDebounceFn / useThrottleFn - 防抖/节流函数 ​

防抖/节流函数

useWindowSize - 窗口尺寸 ​

响应式布局

useOnline - 网络状态 ​

网络状态

useClipboard - 剪贴板 ​

复制到剪贴板

useDark - 暗色模式 ​

暗色模式切换

useEventListener - 事件监听 ​

自动清理事件

useIntersectionObserver - 元素可见性 ​

懒加载/无限滚动

@vueuse/router ​

必须手动导入

@vueuse/router 的函数不会自动导入,必须显式 import。

useRouteParams - 响应式路由参数 ​

响应式路由参数

useRouteQuery - 响应式查询参数 ​

响应式查询参数

何时使用 useRouteQuery? ​

场景方案
需要分享搜索结果链接useRouteQuery
需要浏览器后退保持状态useRouteQuery
普通分页/筛选直接用 ref
普通分页用 ref

完整示例 ​

搜索页面

相关资源 ​

Released under the MIT License.