Skip to content
Vue 3 is now the new default version!
Learn more
Vue.js
Search
Meta
K
Main Navigation
Docs
Guide
Tutorial
Examples
Quick Start
Style Guide
Migration from Vue 2
API
Playground
Ecosystem
Resources
Partners
Themes
Jobs
T-Shirt Shop
Video Courses
Vue Mastery
Vue School
Help
Discord Chat
Forum
DEV Community
News
Blog
Twitter
Newsletter
Events
About
FAQ
Team
Releases
Community Guide
Code of Conduct
The Documentary
Sponsor
languages
github
twitter
discord
Appearance
languages
github
twitter
discord
API Reference
Filter
Global API
Application
createApp()
createSSRApp()
app.mount()
app.unmount()
app.provide()
app.component()
app.directive()
app.use()
app.mixin()
app.version
app.config
app.config.errorHandler
app.config.warnHandler
app.config.performance
app.config.compilerOptions
app.config.globalProperties
app.config.optionMergeStrategies
General
version
nextTick()
defineComponent()
defineAsyncComponent()
defineCustomElement()
Composition API
setup()
Basic Usage
Accessing Props
Setup Context
Usage with Render Functions
Reactivity: Core
ref()
computed()
reactive()
readonly()
watchEffect()
watchPostEffect()
watchSyncEffect()
watch()
Reactivity: Utilities
isRef()
unref()
toRef()
toRefs()
isProxy()
isReactive()
isReadonly()
Reactivity: Advanced
shallowRef()
triggerRef()
customRef()
shallowReactive()
shallowReadonly()
toRaw()
markRaw()
effectScope()
getCurrentScope()
onScopeDispose()
Lifecycle Hooks
onMounted()
onUpdated()
onUnmounted()
onBeforeMount()
onBeforeUpdate()
onBeforeUnmount()
onErrorCaptured()
onRenderTracked()
onRenderTriggered()
onActivated()
onDeactivated()
onServerPrefetch()
Dependency Injection
provide()
inject()
Options API
Options: State
data
props
computed
methods
watch
emits
expose
Options: Rendering
template
render
compilerOptions
Options: Lifecycle
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
beforeUnmount
unmounted
errorCaptured
renderTracked
renderTriggered
activated
deactivated
serverPrefetch
Options: Composition
provide
inject
mixins
extends
Options: Misc
name
inheritAttrs
components
directives
Component Instance
$data
$props
$el
$options
$parent
$root
$slots
$refs
$attrs
$watch()
$emit()
$forceUpdate()
$nextTick()
Built-ins
Directives
v-text
v-html
v-show
v-if
v-else
v-else-if
v-for
v-on
v-bind
v-model
v-slot
v-pre
v-once
v-memo
v-cloak
Components
<Transition>
<TransitionGroup>
<KeepAlive>
<Teleport>
<Suspense>
Special Elements
<component>
<slot>
Special Attributes
key
ref
is
Single File Component
Syntax Specification
Overview
Language Blocks
Automatic Name Inference
Pre-Processors
Src Imports
Comments
<script setup>
Basic Syntax
Reactivity
Using Components
Using Custom Directives
defineProps() & defineEmits()
defineExpose()
useSlots() & useAttrs()
Usage alongside normal <script>
Top-level await
TypeScript-only Features
Restrictions
CSS Features
Scoped CSS
CSS Modules
v-bind() in CSS
Advanced APIs
Render Function
h()
mergeProps()
cloneVNode()
isVNode()
resolveComponent()
resolveDirective()
withDirectives()
withModifiers()
Server-Side Rendering
renderToString()
renderToNodeStream()
pipeToNodeWritable()
renderToWebStream()
pipeToWebWritable()
renderToSimpleStream()
useSSRContext()
TypeScript Utility Types
PropType<T>
ComponentCustomProperties
ComponentCustomOptions
ComponentCustomProps
CSSProperties
Custom Renderer
createRenderer()
API Reference has loaded