跳到正文
cccskills
免费在 GitHub 公开

vueuse

Use when working with VueUse composables - provides reactive utilities for state, browser APIs, sensors, network, animations. Check VueUse before writing custom composables - most patterns already implemented.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(200)

  • SKILL.md4.1 KB
  • composables/computed-async.md423 B
  • composables/computed-eager.md453 B
  • composables/computed-inject.md536 B
  • composables/computed-with-control.md406 B
  • composables/create-event-hook.md681 B
  • composables/create-generic-projection.md248 B
  • composables/create-global-state.md448 B
  • composables/create-injection-state.md762 B
  • composables/create-projection.md497 B
  • composables/create-ref.md444 B
  • composables/create-reusable-template.md638 B
  • composables/create-shared-composable.md534 B
  • composables/create-template-promise.md709 B
  • composables/create-unref-fn.md733 B
  • composables/extend-ref.md625 B
  • composables/from.md173 B
  • composables/get.md247 B
  • composables/inject-local.md420 B
  • composables/is-defined.md373 B
  • composables/logic-and.md373 B
  • composables/logic-not.md335 B
  • composables/logic-or.md366 B
  • composables/make-destructurable.md330 B
  • composables/on-click-outside.md1.1 KB
  • composables/on-element-removal.md394 B
  • composables/on-key-stroke.md534 B
  • composables/on-long-press.md1.3 KB
  • composables/on-start-typing.md631 B
  • composables/provide-local.md421 B
  • composables/reactify-object.md529 B
  • composables/reactify.md932 B
  • composables/reactive-computed.md418 B
  • composables/reactive-omit.md411 B
  • composables/reactive-pick.md411 B
  • composables/ref-auto-reset.md494 B
  • composables/ref-debounced.md595 B
  • composables/ref-default.md427 B
  • composables/ref-manual-reset.md409 B
  • composables/ref-throttled.md346 B
  • composables/ref-with-control.md846 B
  • composables/set.md247 B
  • composables/sync-ref.md406 B
  • composables/sync-refs.md656 B
  • composables/template-ref.md428 B
  • composables/to-observer.md242 B
  • composables/to-reactive.md671 B
  • composables/to-ref.md364 B
  • composables/to-refs.md725 B
  • composables/try-on-before-mount.md327 B
  • composables/try-on-before-unmount.md323 B
  • composables/try-on-mounted.md311 B
  • composables/try-on-scope-dispose.md323 B
  • composables/try-on-unmounted.md307 B
  • composables/unref-element.md747 B
  • composables/until.md459 B
  • composables/use-abs.md259 B
  • composables/use-active-element.md710 B
  • composables/use-animate.md1.6 KB
  • composables/use-array-difference.md607 B
  • composables/use-array-every.md481 B
  • composables/use-array-filter.md503 B
  • composables/use-array-find-index.md490 B
  • composables/use-array-find-last.md340 B
  • composables/use-array-find.md324 B
  • composables/use-array-includes.md403 B
  • composables/use-array-join.md458 B
  • composables/use-array-map.md492 B
  • composables/use-array-reduce.md312 B
  • composables/use-array-some.md473 B
  • composables/use-array-unique.md492 B
  • composables/use-async-queue.md1.2 KB
  • composables/use-async-state.md896 B
  • composables/use-async-validator.md649 B
  • composables/use-auth.md963 B
  • composables/use-average.md311 B
  • composables/use-axios.md926 B
  • composables/use-base64.md664 B
  • composables/use-battery.md888 B
  • composables/use-bluetooth.md972 B
  • composables/use-breakpoints.md811 B
  • composables/use-broadcast-channel.md1006 B
  • composables/use-browser-location.md283 B
  • composables/use-cached.md636 B
  • composables/use-ceil.md254 B
  • composables/use-change-case.md685 B
  • composables/use-clamp.md329 B
  • composables/use-clipboard-items.md1.6 KB
  • composables/use-clipboard.md1.5 KB
  • composables/use-cloned.md742 B
  • composables/use-color-mode.md1.4 KB
  • composables/use-confirm-dialog.md981 B
  • composables/use-cookies.md625 B
  • composables/use-countdown.md1023 B
  • composables/use-counter.md440 B
  • composables/use-css-supports.md377 B
  • composables/use-css-var.md700 B
  • composables/use-current-element.md324 B
  • composables/use-cycle-list.md982 B
  • composables/use-dark.md743 B
  • composables/use-date-format.md831 B
  • composables/use-debounce-fn.md378 B
  • composables/use-debounced-ref-history.md425 B
  • composables/use-device-motion.md939 B
  • composables/use-device-orientation.md598 B
  • composables/use-device-pixel-ratio.md374 B
  • composables/use-devices-list.md829 B
  • composables/use-display-media.md1.1 KB
  • composables/use-document-visibility.md324 B
  • composables/use-draggable.md1.7 KB
  • composables/use-drauu.md938 B
  • composables/use-drop-zone.md1.5 KB
  • composables/use-element-bounding.md1.1 KB
  • composables/use-element-by-point.md633 B
  • composables/use-element-hover.md524 B
  • composables/use-element-size.md619 B
  • composables/use-element-visibility.md904 B
  • composables/use-event-bus.md679 B
  • composables/use-event-listener.md418 B
  • composables/use-event-source.md1.1 KB
  • composables/use-extracted-observable.md292 B
  • composables/use-eye-dropper.md535 B
  • composables/use-favicon.md332 B
  • composables/use-fetch.md1.6 KB
  • composables/use-file-dialog.md1.5 KB
  • composables/use-file-system-access.md835 B
  • composables/use-firestore.md467 B
  • composables/use-floor.md262 B
  • composables/use-focus-trap.md1.0 KB
  • composables/use-focus-within.md1.0 KB
  • composables/use-focus.md1.0 KB
  • composables/use-fps.md384 B
  • composables/use-fullscreen.md1003 B
  • composables/use-fuse.md715 B
  • composables/use-gamepad.md730 B
  • composables/use-geolocation.md720 B
  • composables/use-idbkeyval.md854 B
  • composables/use-idle.md843 B
  • composables/use-image.md1.2 KB
  • composables/use-infinite-scroll.md1.5 KB
  • composables/use-intersection-observer.md1.3 KB
  • composables/use-interval-fn.md675 B
  • composables/use-interval.md701 B
  • composables/use-ipc-renderer-invoke.md644 B
  • composables/use-ipc-renderer-on.md579 B
  • composables/use-ipc-renderer.md1.0 KB
  • composables/use-jwt.md810 B
  • composables/use-key-modifier.md397 B
  • composables/use-last-changed.md414 B
  • composables/use-local-storage.md162 B
  • composables/use-magic-keys.md783 B
  • composables/use-manual-ref-history.md1.2 KB
  • composables/use-math.md429 B
  • composables/use-max.md262 B
  • composables/use-media-controls.md1.6 KB
  • composables/use-media-query.md488 B
  • composables/use-memoize.md850 B
  • composables/use-memory.md650 B
  • composables/use-min.md262 B
  • composables/use-mounted.md250 B
  • composables/use-mouse-in-element.md842 B
  • composables/use-mouse-pressed.md1.2 KB
  • composables/use-mouse.md1.0 KB
  • composables/use-mutation-observer.md750 B
  • composables/use-navigator-language.md491 B
  • composables/use-network.md1.2 KB
  • composables/use-now.md641 B
  • composables/use-nprogress.md321 B
  • composables/use-object-url.md535 B
  • composables/use-observable.md420 B
  • composables/use-offset-pagination.md1.4 KB
  • composables/use-online.md257 B
  • composables/use-page-leave.md289 B
  • composables/use-parallax.md564 B
  • composables/use-parent-element.md377 B
  • composables/use-performance-observer.md517 B
  • composables/use-permission.md729 B
  • composables/use-pointer-lock.md533 B
  • composables/use-pointer-swipe.md1.2 KB
  • composables/use-pointer.md697 B
  • composables/use-precision.md620 B
  • composables/use-preferred-color-scheme.md326 B
  • composables/use-preferred-contrast.md313 B
  • composables/use-preferred-dark.md279 B
  • composables/use-preferred-languages.md538 B
  • composables/use-preferred-reduced-motion.md337 B
  • composables/use-preferred-reduced-transparency.md373 B
  • composables/use-previous.md447 B
  • composables/use-projection.md426 B
  • composables/use-qrcode.md321 B
  • composables/use-raf-fn.md927 B
  • composables/use-ref-history.md1.2 KB
  • composables/use-resize-observer.md747 B
  • composables/use-round.md262 B
  • composables/use-route-hash.md367 B
  • composables/use-route-params.md566 B
  • composables/use-route-query.md618 B
  • composables/use-rtdb.md563 B
  • composables/use-screen-orientation.md684 B
  • composables/use-screen-safe-area.md451 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

VueUse

Collection of essential Vue Composition utilities. Check VueUse before writing custom composables - most patterns already implemented.

Current stable: VueUse 14.x for Vue 3.5+

Installation

Vue 3:

pnpm add @vueuse/core

Nuxt:

pnpm add @vueuse/nuxt @vueuse/core
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@vueuse/nuxt'],
})

Nuxt module auto-imports composables - no import needed.

Categories

CategoryExamples
StateuseLocalStorage, useSessionStorage, useRefHistory
ElementsuseElementSize, useIntersectionObserver, useResizeObserver
BrowseruseClipboard, useFullscreen, useMediaQuery
SensorsuseMouse, useKeyboard, useDeviceOrientation
NetworkuseFetch, useWebSocket, useEventSource
AnimationuseTransition, useInterval, useTimeout
ComponentuseVModel, useVirtualList, useTemplateRefsList
WatchwatchDebounced, watchThrottled, watchOnce
ReactivitycreateSharedComposable, toRef, toReactive
ArrayuseArrayFilter, useArrayMap, useSorted
TimeuseDateFormat, useNow, useTimeAgo
UtilitiesuseDebounce, useThrottle, useMemoize

Quick Reference

Load composable files based on what you need:

Working on...Load file
Finding a composablereferences/composables.md
Specific composablecomposables/<name>.md

Loading Files

Consider loading these reference files based on your task:

DO NOT load all files at once. Load only what's relevant to your current task.

Common Patterns

State persistence:

const state = useLocalStorage('my-key', { count: 0 })

Mouse tracking:

const { x, y } = useMouse()

Debounced ref:

const search = ref('')
const debouncedSearch = refDebounced(search, 300)

Shared composable (singleton):

const useSharedMouse = createSharedComposable(useMouse)

SSR Gotchas

Many VueUse composables use browser APIs unavailable during SSR.

Check with isClient:

import { isClient } from '@vueuse/core'

if (isClient) {
  // Browser-only code
  const { width } = useWindowSize()
}

Wrap in onMounted:

const width = ref(0)

onMounted(() => {
  // Only runs in browser
  const { width: w } = useWindowSize()
  width.value = w.value
})

Use SSR-safe composables:

// These check isClient internally
const mouse = useMouse() // Returns {x: 0, y: 0} on server
const storage = useLocalStorage('key', 'default') // Uses default on server

@vueuse/nuxt auto-handles SSR - composables return safe defaults on server.

Target Element Refs

When targeting component refs instead of DOM elements:

import type { MaybeElementRef } from '@vueuse/core'

// Component ref needs .$el to get DOM element
const compRef = ref<ComponentInstance>()
const { width } = useElementSize(compRef) // ❌ Won't work

// Use MaybeElementRef pattern
import { unrefElement } from '@vueuse/core'

const el = computed(() => unrefElement(compRef)) // Gets .$el
const { width } = useElementSize(el) // ✅ Works

Or access $el directly:

const compRef = ref<ComponentInstance>()

onMounted(() => {
  const el = compRef.value?.$el as HTMLElement
  const { width } = useElementSize(el)
})

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Add, update, or retire an AI provider model option for the BYOK theme generator (OpenAI, Anthropic, Google) and verify the provider requests native structured output for it. Use when model lists go stale or a new provider/model is requested.

中文简介正在准备中。当前显示原文说明。

mattycraig/nuxt-theme-builder92026年10月20日 更新

Add a new interactive design tool under /tools (like the color converter or contrast checker) — component, page, navigation, route lists, SEO, and tests. Use when building a new utility tool.

中文简介正在准备中。当前显示原文说明。

mattycraig/nuxt-theme-builder92026年10月20日 更新

Write and register a new Learning Hub article (Nuxt Content markdown under content/learn) with valid frontmatter, navigation entry, route list entry, and accurate product details. Use when adding or substantially rewriting a learn guide, reference, or tip.

中文简介正在准备中。当前显示原文说明。

mattycraig/nuxt-theme-builder92026年10月20日 更新

Add a new component showcase, block, or template preview page and register it everywhere it must appear (navigation, command palette, route lists, SEO, source view). Use when adding anything under /components, /blocks, or /templates.

中文简介正在准备中。当前显示原文说明。

mattycraig/nuxt-theme-builder92026年10月20日 更新

Checklist for adding or changing a field on ThemeConfig (a new design token, per-mode setting, or export option) end to end — schema, defaults, store + history, CSS apply, export, editor UI, AI, and tests. Use whenever ThemeConfig's shape changes.

中文简介正在准备中。当前显示原文说明。

mattycraig/nuxt-theme-builder92026年10月20日 更新

Run the project's validation pipeline (lint → format → typecheck → unit tests) with auto-fixes, then optionally stage and write a Conventional Commit. Use before committing, when asked to "check", "validate", "run the workflow", or "get this commit-ready".

中文简介正在准备中。当前显示原文说明。

mattycraig/nuxt-theme-builder92026年10月20日 更新

查看 mattycraig 的全部技能

报告此技能的问题