From setting up your environment with Vite to template syntax, ref and reactivity, props and emit, the Composition API, Vue Router, Pinia, forms and validation, TypeScript, and testing. Over 30 lessons, you'll finish and build a ToDo app, wrapping up by clarifying how Vue differs from React so you can judge which to pick yourself. All code and test output was actually run on Vue 3.5.13 and Vitest 3.
The 30 lessons are split into 6 chapters. We recommend working through them in order starting from Chapter 1, but feel free to skip around to whatever interests you. * .vue files (single-file components) can't run in the browser here, so try them in the Vite project you'll set up in Lesson 1. This course assumes the basics from JavaScript.
You'll create a project with Vite and get a handle on template syntax, v-if and events, and ref and reactivity. You'll finish by building a component as a .vue file (a single-file component) and reusing it from a parent.
You'll pass values from parent to child with props, notify a parent from a child with emit, and inject content with slots. Render lists with v-for and key, finishing by tying input to state with v-model.
You'll round out your Composition API toolkit with reactive, computed, watch, and lifecycle hooks. You'll finish by pulling logic out into a composable, and see for yourself the trap where reactivity breaks.
You'll split pages with Vue Router and use dynamic routes and navigation guards. Create a store with Pinia to share state, finishing by handling asynchronous data fetching.
You'll get a handle on form modifiers and validation, using it alongside TypeScript, and testing components. You'll finish by building a product list that combines every tool so far.
You'll finish a ToDo app, build it for production, and publish it. You'll wrap up by clarifying how it differs from React, so you can judge which to pick yourself.
Once you've finished all 30 lessons, move on to TypeScript to guard your components with types. A membership unlocks every course.