vueuse 是一个用于 vue 项目中的常用工具集,一些知名前端项目如 ElementUI-plus 等中都有它的声影,基于该项目可以很容易地进行封装,实现更加具体地功能。该工具集也是目前同类库中星最多的项目。不过至今为止,中文社区不是怎么活跃,可参考的资料较少.
请添加图片描述

核心功能

动画

功能/链接作用用例
useInterval每隔一段时间,响应式数器增加【1】
useIntervalFn带有控件的 setInterval 的包装【2】
useNow响应式当前 Data 实例【3】
useRafFn在每个requestAnimationFrame上调用函数【4】
useTimeout使用控件在给定时间后更新值【5】
useTimeoutFn带有控件的setTimeout的包装【6】
useTimestamp响应式当前时间戳【7】
useTransition值之间的转换【8】

浏览器

功能/链接作用用例
useActiveElement响应式 document.activeElement【9】
useBreakpoints响应式 viewport 断点【10】
useBrowserLocation响应式 浏览器位置【11】
useClipboard响应式 Clipboard(剪贴板) API【12】
useColorMode具有自动数据持久性的响应式 颜色模式 (dark / light / customs)【13】
useCssVar操纵CSS变量【14】
useDark具有自动数据持久性响应式 dark 模式【15】
useEventListener轻松使用 EventListener(事件监听器)【16】
useEyeDropper响应式 EyeDropper API【17】
useFavicon响应式 图标【18】
useFetch响应式提供提供中止请求的能力的 Fetch API【19】
useFullscreen响应式 Fullscreen(全屏) API【20】
useMediaControls音频和视频元素的响应式媒体控制【21】
useMediaQuery响应式 Media Query【22】
useMemory响应式 Memory Info【23】
usePermission响应式 Permissions API【24】
usePreferredColorScheme响应式 prefers-color-scheme 媒体查询【25】
usePreferredDark响应式 dark 优先主题【26】
usePreferredLanguages响应式 Navigator 语言【27】
useScreenSafeArea响应式 env(safe-area-inset-*)【28】
useScriptTag注入script标签【29】
useShare响应式 Web Share API【30】
useTitle响应式 document title【31】
useUrlSearchParams响应式 URLSearchParams【32】
useWakeLock当应用程序需要继续运行时,响应式屏幕唤醒锁定API提供了一种防止设备变暗或锁定屏幕的方法【33】

组件

功能/链接作用用例
computedInject结合 computedinject【34】
templateRef绑定 ref 到模板元素的简写【35】
tryOnBeforeUnmount安全onBeforeUnmount【36】
tryOnMounted安全onMounted【37】
tryOnScopeDispose安全onScopeDispose【38】
tryOnUnmounted安全onUnmounted【39】
unrefElementDOM元素 unref【40】
useMountedref 中的 mounted状态【41】
useTemplateRefsListrefs绑定到 v-for 内部的模板元素和组件的简写【42】
useVirtualList轻松创建虚拟列表【43】
useVModelv-model 绑定的简写【44】
useVModelsprops v-model 绑定的简写【45】

格式器

功能/链接作用用例
useTimeAgo响应式的 time ago

Misc

功能/链接作用用例
useEventSource一个 EventSource 或 Server-Sent-Events 实例,打开到 HTTP 服务器的持久连接
useWebSocket响应式 WebSocket 客户端
useWebWorker简单的 Web Workers 注册和交流
useWebWorkerFn不阻塞用户界面的前提下执行额外的函数

传感器

功能/链接作用用例
onClickOutside监听元素外部的点击
onKeyStroke监听键盘按键是否被敲击
onStartTyping当用户开始在不可编辑的元素上键入时触发
useBattery响应式电池状态 API
useDeviceMotion响应式 DeviceMotionEvent
useDeviceOrientation响应式 DeviceOrientationEvent
useDevicePixelRatio响应式追踪 window.devicePixelRatio
useDevicesList响应式 enumerateDevices 监听可用的输入输出设备
useDisplayMedia响应式 mediaDevices.getDisplayMedia streaming
useDocumentVisibility响应式地追踪 document.visibilityState
useDraggable使元素可拖动★
useElementBounding一个HTML元素的 响应式边框盒子
useElementByPoint基于点的响应式的元素
useElementHover响应式的 元素的 hover 状态
useElementSize一个 HTML 元素 的 响应式的 尺寸
useElementVisibility跟踪viewport中元素的可见性
useFocus响应式的工具,用于追踪或者设置一个 DOM 元素的聚焦状态
useFocusWithin响应式的工具,用于追踪一个元素或其后代是否有焦点
useFps响应式的 FPS (帧每秒)
useGeolocation响应式的 Geolocation(地理定位) API
useIdle跟踪用户是否处于非活动状态
useIntersectionObserver检测目标元素的可见性
useKeyModifier响应式的 Modifier 状态
useMagicKeys响应式的按键状态
useMouse响应式的鼠标位置
useMouseInElement响应式的相对于一个元素的鼠标位置
useMousePressed响应式的鼠标按压状态
useMutationObserver监听对DOM树所做的更改
useNavigatorLanguage监听用户对 navigator 语言首选项的更改
useNetwork响应式的网络状态
useOnline响应式的在线状态
usePageLeave响应式的状态以展示鼠标是否离开页面
useParallax轻松创建视差效果
usePointer响应式的 指针 状态
usePointerSwipe基于 PointerEvents 的,响应式的 滑动(swipe)检测
useResizeObserver报告元素内容或边框尺寸的变化
useScroll响应式的 滚动位置和状态
useScrollLock锁定元素的滚动
useSpeechRecognition响应式的 SpeechRecognition(语音识别)
useSpeechSynthesis响应式的 SpeechSynthesis(语音合成)
useSwipe基于 TouchEvents 的,响应式的 滑动(swipe)检测
useTextSelection响应式地追踪基于Window.getSelection的用户文本选择
useUserMedia响应式的 mediaDevices.getUserMedia streaming
useWindowFocus使用 window.onfocuswindow.onblur 事件,响应式地追踪 window 焦点
useWindowScroll响应式的 window 滚动
useWindowSize响应式的 window 尺寸

状态

功能/链接作用用例
createGlobalState将状态保持在全局范围内,以便跨Vue实例重用
createSharedComposable使可组合的函数可用于多个Vue实例
useLocalStorage响应式的 LocalStorage
useSessionStorage响应式的 SessionStorage
useStorage响应式的 LocalStorage/SessionStorage
useStorageAsync异步支持的响应式 Storage

实用工具

功能/链接作用用例
andrefs 的 AND 条件
orrefs 的 OR 条件
notrefs 的 NOT 条件
asyncComputed异步函数的computed
autoResetRef一个当过一段事件后将被设置为默认值的 ref
biSyncRef双向 refs 同步
controlledComputed明确定义 computed 的深度
controlledRefref及其响应性的精细控制
createEventHookutility for creating event hooks
createReactiveFn将简单函数转换为reactive函数
createUnrefFn创建一个普通函数,接受 ref 和 原始值作为参数
debouncedRef一个 ref 的 debounce(防抖) 更新
eagerComputedeager computed 没有 惰性计算(lazy evaluation)
extendRefRef添加额外属性
getref.value的简写
setref.value = x的简写
isDefinednullish 检查 Ref 的守卫类型
makeDestructurable使对象和数组同时 isomorphic destructurable
reactify将简单函数转换为reactive函数
reactifyObject应用 reactifyto 一个对象
reactivePickreactively pick fields from a reactive object
refDefault将默认值应用于refs
syncRef保持目标refs与源refs同步
toReactiveref转换为reactive
toRefs也接受对象refs的被扩展的toRefs
useAsyncQueue顺序执行每个异步任务,并将当前任务结果传递给下一个任务
useAsyncState响应式的异步状态
useBase64响应式的 base64 转换
useClamp响应式地将一个值夹在另外两个值之间
useConfirmDialog创建事件钩子以支持 modals 和 confirmation 对话链
useCounter具有实用功能的基本计数器
useCycleList在项目列表中循环
useDebouncedRefHistoryshorthand for useRefHistorywith debounced filter
useEventBus一个基本事件总线
useLastChanged记录上次更改的时间戳
useManualRefHistory当使用 using calls commit()时,手动跟踪 ref 的变更历史
useRefHistoryref 的变更历史
useThrottledRefHistoryuseRefHistorywith 去抖过滤器的简写
useDebounceFn去抖执行一个函数
useDebounce去抖执行一个ref
throttledRef节流更新一个ref
useThrottle节流改变一个ref
useThrottleFn节流执行一个函数
useToggle具有实用功能的布尔开关

Watch

功能/链接作用用例
debouncedWatch防抖watch
throttledWatch节流 watch
ignorableWatchignorable watch
pausableWatch可暂停的watch
until仅触发一次的 promised watch
watchAtMost触发次数的 watch
watchOnce仅触发一次的 watch
watchWithFilter带有额外的 EventFilter 控制的 watch
wheneverwatching 值 to be truthy的简写

第一组

【用例1】


【用例2】


【用例3】


【用例4】


【用例5】


【用例6】


【用例7】


【用例8】


第二组

【用例9】


【用例10】


【用例11】


【用例12】


【用例13】


请添加图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐