Vue Snippets

January 28, 2026 · View on GitHub

Snippets info

Every space inside { } and ( ) means that this is pushed into next line :) $ represent each step after tab.


Vue SFC Template

vinit

<template>
  <div>

  </div>
</template>

<script>
export default {
data() {
  return {
    \$0
  }
},
methods: {
  \$0
},
}
</script>

<style scoped>

</style>
SnippetPurpose
vinit-scssBase for Vue Single File Component with SCSS
vinit-lessBase for Vue Single File Component with Less
vinit-sassBase for Vue Single File Component with Sass
vinit-stylusBase for Vue Single File Component with Stylus
vinit-postcssBase for Vue Single File Component with PostCss

Vue Composition API Template

vbase

<template>
  <div>

  </div>
</template>

<script setup>

</script>

<style scoped>

</style>
SnippetPurpose
vbase-scssBase for Vue File Composition API with SCSS
vbase-lessBase for Vue File Composition API with Less
vbase-sassBase for Vue File Composition API with Sass
vbase-stylusBase for Vue File Composition API with Stylus
vbase-postcssBase for Vue File Composition API with PostCss

Vue TypeScript Template

vts

<template>
  <div>

  </div>
</template>

<script lang="ts" setup>

</script>

<style scoped>

</style>
SnippetPurpose
vts-scssBase for Vue Single File Component with Typescript and SCSS
vts-lessBase for Vue Single File Component with Typescript and Less
vts-sassBase for Vue Single File Component with Typescript and Sass
vts-stylusBase for Vue Single File Component with Typescript and Stylus
vts-postcssBase for Vue Single File Component with Typescript and PostCss

Template

SnippetPurpose
vforvfor statement
vstylevue inline style binding
vstyle-objvue inline style binding, objects
vclassvue class binding
vclass-objvue class binding
vclass-obj-multvue multiple conditional class bindings
vonv-on click handler with arguments
vroutenameNamed routing link
vroutenameparamNamed routing link w/ params
vroutepathPath routing link
vanimtransition component js hooks
vcomponentcomponent element

Script

SnippetPurpose
vdataVue Component Data
vpropsVue Props with Default
vmethodvue method
vcomputedcomputed value
vwatchervue watcher
vwatcher-optionsvue watcher with options
vfiltervue filter
vcomponentsImport one component into another, within export statement
vemitvue emit
vnexttickvue nextTick
vsetvue set
vdeletevue delete
vbeforecreatebeforeCreate lifecycle method
vcreatedcreated lifecycle method
vbeforemountbeforeMount lifecycle method
vmountedmounted lifecycle method
vbeforeupdatebeforeUpdate lifecycle method
vupdatedupdated lifecycle method
vbeforedestroybeforeDestroy lifecycle method
vdestroyeddestroyed lifecycle method
vbeforeunmountbeforeUnmount lifecycle method
vunmountedunmounted lifecycle method

Vue Composition API

SnippetPurpose
v3refVue Ref
v3reactiveVue Composition API - reactive
v3computedVue Composition API - computed
v3watchVue Composition API - watcher single source
v3watch-arrayVue Composition API - watch as array
v3watcheffectVue Composition API - watchEffect
v3onmountedLifecycle hook - onMounted
v3onbeforemountLifecycle hook - onBeforeMount
v3onbeforeupdateLifecycle hook - onBeforeUpdate
v3onupdatedLifecycle hook - onUpdated
v3onerrorcapturedLifecycle hook - onErrorCaptured
v3onunmountedLifecycle hook - (destroyed) onUnmounted
v3onbeforeunmountLifecycle hook - (beforeDestroy) onBeforeUnmount

Vue Router

SnippetPurpose
vrouterBase for Vue Router
vscrollbehaviorVue Router scrollBehavior
vbeforeeachVue Router global guards beforeEach
vbeforeresolveVue Router global guards beforeResolve
vaftereachVue Router global guards afterEach
vbeforeenterVue Router per-route guard beforeEnter
vbeforerouteenterVue Router component guards beforeRouteEnter
vbeforerouteupdateVue Router component guards beforeRouteUpdate
vbeforerouteleaveVue Router component guards beforeRouteLeave
vroute-namedVue Router route with per route code-splitting
v3routerVue Router hooks
v3routeVue Route hooks

Vue Vuex

SnippetPurpose
vxstoreBase for Vuex store
vxgettervuex getter
vxmutationvuex mutation
vxactionvuex action
vxmodulevuex module

Vue Pinia

SnippetPurpose
vpiniaBase for Pinia store (Options API)
vpinia-setupPinia Setup Store (Composition API)
vgetterVue Pinia getters
vactionVue Pinia actions

vpinia-setup

import { defineStore } from 'pinia';

export const useCounterStore = defineStore('counter', () => {
  return {};
});

UniApp Template

uni2

<template>
  <view>

  </view>
</template>

<script>
export default {
data() {
  return {
    \$0
  }
},
methods: {
  \$0
},
}
</script>

<style scoped>

</style>

uni3

<template>
  <view>

  </view>
</template>

<script setup>

</script>

<style scoped>

</style>

uni-ts

<template>
  <view>

  </view>
</template>

<script lang="ts" setup>

</script>

<style scoped>

</style>

UniApp Snippets

SnippetPurpose
u2onLoadonLoad 监听页面加载
u2onShowonShow 监听页面显示
u2onReadyonReady 监听页面初次渲染完成
u2onHideonHide 监听页面隐藏
u2onUnloadonUnload 监听页面卸载
u2onPullDownRefreshonPullDownRefresh 监听用户下拉动作,一般用于下拉刷新
u2onReachBottomonReachBottom 页面滚动到底部的事件
u2onShareAppMessageonShareAppMessage 监听用户点击右上角转发
u2onPageScrollonPageScroll 监听页面滚动
u3onLoadonLoad 监听页面加载 (Composition API)
u3onShowonShow 监听页面显示 (Composition API)
u3onReadyonReady 监听页面初次渲染完成 (Composition API)
u3onHideonHide 监听页面隐藏 (Composition API)
u3onUnloadonUnload 监听页面卸载 (Composition API)