Updated June 2026 3 days All students must have JavaScript and HTML programming experience. Experience with CSS is helpful but not required. Teams building a backend alongside Vue can continue with Full-Stack Web Development with Vue and FastAPI. This Vue Essentials course teaches modern Vue 3 from the ground up. The course centers on the Composition API with All students receive comprehensive courseware covering all topics in the course. The instructor distributes courseware via GitHub. The courseware includes documentation and extensive code samples. Students practice the topics covered through challenging hands-on lab exercises. Students will need a free, personal GitHub account to access the courseware. Students need permission to install Node.js and Visual Studio Code on their computers. Also, students will need permission to install NPM Packages and Visual Studio Code extensions. We will provide a cloud-based environment if students cannot configure a local environment.Vue Essentials
Class Duration
Student Prerequisites
Target Audience
Description
<script setup> - the current standard idiom for Vue development - covering Vue's reactivity system (ref, computed, watch), single-file components, props, emits, and slots, all with TypeScript end-to-end. Participants build real applications using Pinia for state management and Vue Router 5, which now ships optional file-based routing in the core package. Coverage includes forms with v-model and defineModel, asynchronous data handling, Vite tooling, and a thorough testing module using Vitest 4 with Vue Testing Library plus Playwright for end-to-end tests. The course also covers the Options API just enough that participants can read older Vue 2 and Vue 3 codebases - but every new pattern taught is the current Composition API one. Participants also get an instructor-led preview of Vapor Mode, the opt-in virtual-DOM-free compilation strategy currently in beta for Vue 3.6, and by the end they build, test, and run a complete Vue 3 application.Learning Outcomes
create-vue, Vite, TypeScript, and the official Vue extension for Visual Studio Code.<script setup> - ref, reactive, computed, watch, and watchEffect - and know when each is the right tool.defineProps), events (defineEmits), two-way binding (defineModel), and slots.v-model and modifiers, and fetch and render asynchronous data with loading and error states.data, methods, computed options) and migrate selectively to the Composition API.Training Materials
Software Requirements
Training Topics
Introduction to Vue 3
Development Environment
create-vue (npm create vue@latest)Single-File Components
.vue file: <template>, <script setup>, <style><script setup> vs. the setup() functionTemplate Syntax
v-bind (:)v-if, v-else-if, v-else, v-show)v-for and key<component :is>Reactivity Fundamentals
ref() for reactive valuesreactive() for objects - and when to prefer refcomputed() for derived valueswatch() and watchEffect() for side effectsshallowRef, shallowReactive)toRefs, losing reactivityComponent Basics
defineProps() and TypeScript typesdefineEmits()defineModel()Component Composition
Event Handling
v-on (@).prevent, .stop, .once)Data Binding and Forms
v-modelv-model on inputs, selects, checkboxes, and radiosv-model modifiers (.lazy, .number, .trim)v-model on components with defineModel()Lifecycle and Effects
onMounted, onUpdated, onUnmountednextTick() for awaiting DOM updatesState Management with Pinia
storeToRefs() and preserving reactivityRouting with Vue Router 5
<RouterLink> and <RouterView>useRouter and useRouteAsynchronous Data
setup with composablesdefineAsyncComponent<Suspense> (experimental) overviewTypeScript with Vue
Testing
@vue/test-utils and when to drop down to it