Skip to content

Commit 028480a

Browse files
feat(vue3) add composition api
1 parent 19d8dcb commit 028480a

File tree

2 files changed

+136
-0
lines changed

2 files changed

+136
-0
lines changed

snippets/vue-script.json

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,5 +308,90 @@
308308
"}"
309309
],
310310
"description": "vue.config.js"
311+
},
312+
"Vue Composition API - Reactive": {
313+
"prefix": "v3reactive",
314+
"body": [
315+
"const ${1:name} = reactive({",
316+
"\t${2:count}: ${3:0}",
317+
"})"
318+
],
319+
"description": "Vue Composition api - computed"
320+
},
321+
"Vue Composition API - Computed": {
322+
"prefix": "v3computed",
323+
"body": [
324+
"const ${1:name} = computed(() => {",
325+
"\treturn ${2}",
326+
"})"
327+
],
328+
"description": "Vue Composition api - computed"
329+
},
330+
"Vue Composition API - watch - single source": {
331+
"prefix": "v3watch",
332+
"body": [
333+
"watch(() => ${1:foo}, (newValue, oldValue) => {",
334+
"\t${2}",
335+
"})"
336+
],
337+
"description": "Vue Composition api - watch as array"
338+
},
339+
"Vue Composition API - watch - array": {
340+
"prefix": "v3watch-array",
341+
"body": [
342+
"watch([${1:foo}, ${2:bar}], ([new${1}, new${2}], [prev${1}, prev${2}]) => {",
343+
"\t${3}",
344+
"})"
345+
],
346+
"description": "Vue Composition api - watch as array"
347+
},
348+
"Vue Composition API - watchEffect": {
349+
"prefix": "v3watcheffect",
350+
"body": [
351+
"watchEffect(() => {",
352+
"\t${1}",
353+
"})"
354+
],
355+
"description": "Vue Composition api - watchEffect"
356+
},
357+
"Vue Composition API - Vue ref": {
358+
"prefix": "v3ref",
359+
"body": ["const ${1:name} = ref(${2:initialValue})"],
360+
"description": "Vue Ref"
361+
},
362+
"Vue Lifecycle Hooks - onMounted": {
363+
"prefix": "v3onmounted",
364+
"body": ["onMounted(() => {${1}})"],
365+
"description": "Vue Mounted Lifecycle hook"
366+
},
367+
"Vue Lifecycle Hooks - onBeforeMount": {
368+
"prefix": "v3onbeforemount",
369+
"body": ["onBeforeMount(() => {${1}})"],
370+
"description": "Vue onBeforeMount Lifecycle hook"
371+
},
372+
"Vue Lifecycle Hooks - onBeforeUpdate": {
373+
"prefix": "v3onbeforeupdate",
374+
"body": ["onBeforeUpdate(() => {${1}})"],
375+
"description": "Vue onBeforeUpdate Lifecycle hook"
376+
},
377+
"Vue Lifecycle Hooks - onUpdated": {
378+
"prefix": "v3onupdated",
379+
"body": ["onUpdated(() => {${1}})"],
380+
"description": "Vue onUpdated Lifecycle hook"
381+
},
382+
"Vue Lifecycle Hooks - onErrorCaptured": {
383+
"prefix": "v3onerrorcaptured",
384+
"body": ["onErrorCaptured(() => {${1}})"],
385+
"description": "Vue onErrorCaptured Lifecycle hook"
386+
},
387+
"Vue Lifecycle Hooks - onUnmounted": {
388+
"prefix": "v3onunmounted",
389+
"body": ["onUnmounted(() => {${1}})"],
390+
"description": "(destroyed) Vue onUnmounted Lifecycle hook"
391+
},
392+
"Vue Lifecycle Hooks - onBeforeUnmount": {
393+
"prefix": "v3onbeforeunmount",
394+
"body": ["onBeforeUnmount(() => {${1}})"],
395+
"description": "(beforeDestroy) Vue onBeforeUnmount Lifecycle hook"
311396
}
312397
}

snippets/vue.json

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,5 +164,56 @@
164164
"</script>"
165165
],
166166
"description": "Base for Vue File with no styles"
167+
},
168+
"Vue Single File Component Composition API": {
169+
"prefix": "vbase-3",
170+
"body": [
171+
"<template>",
172+
"\t<div>",
173+
"",
174+
"\t</div>",
175+
"</template>",
176+
"",
177+
"<script>",
178+
"export default {",
179+
"\tsetup () {",
180+
"\t\t${0}",
181+
"",
182+
"\t\treturn {}",
183+
"\t}",
184+
"}",
185+
"</script>",
186+
"",
187+
"<style lang=\"scss\" scoped>",
188+
"",
189+
"</style>"
190+
],
191+
"description": "Base for Vue File Composition API with SCSS"
192+
},
193+
"Vue Single File Component Composition API with Typescript": {
194+
"prefix": "vbase-3-ts",
195+
"body": [
196+
"<template>",
197+
"\t<div>",
198+
"",
199+
"\t</div>",
200+
"</template>",
201+
"",
202+
"<script lang=\"ts\">",
203+
"import Vue from 'vue'",
204+
"",
205+
"export default Vue.extend({",
206+
"\tsetup () {",
207+
"\t\t${0}\n",
208+
"\t\treturn {}",
209+
"\t}",
210+
"})",
211+
"</script>",
212+
"",
213+
"<style scoped>",
214+
"",
215+
"</style>"
216+
],
217+
"description": "Base for Vue File Composition API - Typescript"
167218
}
168219
}

0 commit comments

Comments
 (0)