Collection of essential Vue Composition Utilities
<img src='https://cdn.jsdelivr.net/gh/antfu/static/sponsors.svg'>
ð Features
- ðŠ Interactive docs & demos
- ðķ Seamless migration: Works for both Vue 3 and 2
- ⥠Fully tree shakeable: Only take what you want, bundle size
- ðĶū Type Strong: Written in TypeScript, with TS Docs
- ð SSR Friendly
- ð No bundler required: Usable via CDN
- ðĐ Flexible: Configurable event filters and targets
- ð Optional Add-ons: Router, Firebase, RxJS, etc.
ðĶ Usage
import { useLocalStorage, useMouse, usePreferredDark } from '@vueuse/core'
export default {
setup() {
// tracks mouse position
const { x, y } = useMouse()
// if user prefers dark theme
const isDark = usePreferredDark()
// persist state in localStorage
const store = useLocalStorage(
'my-storage',
{
name: 'Apple',
color: 'red',
},
)
return { x, y, isDark, store }
},
}
Refer to functions list or documentations for more details.
ðĶ Install
ðĐ From v4.0, it works for Vue 2 & 3 within a single package by the power of vue-demi!
npm i @vueuse/core
Add ons | Nuxt Module
From v6.0, VueUse requiresvue
>= v3.2 or@vue/composition-api
>= v1.1
Demos
CDN
<script src="https://unpkg.com/@vueuse/shared"></script>
<script src="https://unpkg.com/@vueuse/core"></script>
It will be exposed to global as
window.VueUse
ðŠī Project Activity
ð§ą Contribute
See the Contributing Guideðļ Thanks
This project is heavily inspired by the following awesome projects.And thanks to all the contributors on GitHub!