Free Course Image Vue 3 Step-by-Step Course: Components, Composition API, Vite and Pinia

Free online courseVue 3 Step-by-Step Course: Components, Composition API, Vite and Pinia

Duration of the online course: 4 hours and 43 minutes

New

Free Vue 3 course on components, Composition API, Vite and Pinia. Learn modern Vue patterns, reusable UI, and scalable state management.

In this free course, learn about

  • Vue Fundamentals
  • Building Components
  • Data Fetching and Flexible Components
  • Tooling with Vite
  • Composition API and Composables
  • Advanced State Sharing Patterns
  • Pinia Stores and a Team Dashboard

Course Description

Vue 3 Step-by-Step Course: Components, Composition API, Vite and Pinia is a free online course from Laracasts in the Technology and Programming category, focused on Web Development. It guides you from the absolute basics of Vue 3 to building maintainable applications with modern tooling and state management.

You will move from core concepts like attribute binding, event handling, lists, conditionals, and computed properties into component-driven development, including organizing one component per file, working with props, and coordinating state between parent and child components. The course also covers practical form handling, component responsibility, and a deeper understanding of v-model for clean, predictable UI behavior.

As you progress, you will explore lifecycle hooks and real-world async workflows using fake APIs and AJAX-style requests. You will learn how to create flexible, reusable components with slots, including named slots, and understand common confusing edges of Vue that can slow down beginners.

The course then transitions into the Composition API with script setup, showing the key mental models needed to write modern Vue. You will learn how to move from mixins to composables, see composables in action, and refactor components using defineEmits and defineProps. Advanced patterns like dependency injection with provide and inject are introduced to help structure larger apps.

Finally, you will set up a modern development workflow with Vite and dive into externalized state, mutation concerns, and Pinia. The learning experience culminates in a team dashboard exercise where you build and seed a store, giving you practical confidence to structure scalable Vue 3 projects.

Course content

  • Video class: Learn Vue 3 - Ep 1, The Absolute Basics 07m
  • Exercise: In Vue 3, what does the v-model directive do for an input field?
  • Video class: Learn Vue 3 - Ep 2, Attribute Binding and Event Handling 08m
  • Exercise: In Vue, what is the shorthand syntax for binding an attribute (like class) to an expression instead of a string?
  • Video class: Learn Vue 3 - Ep 3, Lists, Conditionals, and Computed Properties 14m
  • Exercise: When rendering a list with v-for, what is the main purpose of adding a unique :key?
  • Video class: Learn Vue 3 - Ep 4, Your First Vue Component 08m
  • Exercise: How can a child component display content passed between its opening and closing tags?
  • Video class: Learn Vue 3 - Ep 5, One Vue Component Per File 04m
  • Exercise: After moving a Vue component into its own file, what must you add so it can be imported elsewhere?
  • Video class: Learn Vue 3 - Ep 6, Component Props 08m
  • Exercise: How can a Vue component prop be given a default value while still allowing it to be overridden?
  • Video class: Learn Vue 3 - Ep 7, Bring it All Together 15m
  • Exercise: When using an AssignmentList component, how should you pass a computed array (not a string) into its assignments prop?
  • Video class: Learn Vue 3 - Ep 8, Handle a Form Submission 09m
  • Exercise: How can you prevent a form submission from refreshing the page in Vue?
  • Video class: Learn Vue 3 - Ep 9, Parent-Child State Communication 06m
  • Exercise: What is the common Vue pattern for communication between a parent component and a child component?
  • Video class: Learn Vue 3 - Ep 10, It's All So Easy 11m
  • Exercise: How can you generate a unique list of tag names from an assignments array in Vue?
  • Video class: Learn Vue 3 - Ep 11, Component Responsibility 08m
  • Exercise: After extracting an AssignmentTags component, what is a good way to notify the parent component that the selected tag changed so it can re-render the list?
  • Video class: Learn Vue 3 - Ep 12, A Deeper Look at v-model 08m
  • Exercise: When using v-model on a custom component in Vue 3, what prop and event name are required by default to keep parent and child in sync?
  • Video class: Learn Vue 3 - Ep 13, Lifecycle Hooks, Fake APIs, and AJAX 08m
  • Exercise: Which lifecycle hook is used to fetch assignments from a fake API as soon as the component is created (before it is mounted to the DOM)?
  • Video class: Learn Vue 3 - Ep 14, Flexible Vue Components With Slots and Flags 10m
  • Exercise: Which approach best allows a parent to selectively add extra content (like an input form) beneath a reusable list component without duplicating it for every instance?
  • Video class: Learn Vue 3 - Ep 15, Named Slots 11m
  • Exercise: How can you prevent rendering an empty

    when a named slot (like a heading) is not provided?

  • Video class: Learn Vue 3 - Ep 16, An Introduction to Vite 10m
  • Exercise: What is the main benefit of Vite’s hot module replacement (HMR) during development?
  • Video class: Learn Vue 3 - Ep 17, Little Confusing Things About Vue 10m
  • Video class: Learn Vue 3 - Ep 18, Two Mental Leaps to Script Setup 15m
  • Exercise: In the Composition API, why didn’t a plain string returned from setup() update with v-model until it was wrapped in ref()?
  • Video class: Learn Vue 3 - Ep 19, From Mixins to Composables 11m
  • Video class: Learn Vue 3 - Ep 20, Composables Example 17m
  • Exercise: When using a composable to keep a ref in sync with localStorage, what Vue Composition API feature is used to react to changes (including changes not triggered by input events)?
  • Video class: Learn Vue 3 - Ep 21, Refactoring to defineEmits and defineProps 16m
  • Exercise: In a Vue 3 script setup component, what is required to make v-model work on a custom textarea component?
  • Video class: Learn Vue 3 - Ep 22, Dependency Injection With Provide and Inject 09m
  • Exercise: In Vue 3, what problem do provide() and inject() primarily help solve in a nested component tree?
  • Video class: Learn Vue 3 - Ep 23, Store State in an External File 07m
  • Exercise: When moving shared quiz data into its own store file, what change is needed so updates (like changing the quiz name) automatically reflect across all components that import it?
  • Video class: Learn Vue 3 - Ep 24, Direct Mutation Concerns 06m
  • Exercise: Why place the counter state in a dedicated store instead of keeping it only inside the Counter view component?
  • Video class: Learn Vue 3 - Ep 25, Say Hello to Pinia 08m
  • Exercise: In a Pinia store, which section is used for computed-like values such as a "remaining" count?
  • Video class: Learn Vue 3 - Ep 26, Team Dashboard Exercise 15m
  • Exercise: What is the primary benefit of extracting repeated table rows into a dedicated TeamMember component?
  • Video class: Learn Vue 3 - Ep 27, Build and Seed a Team Store 12m

This free course includes:

4 hours and 43 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at Web Development

Free Ebook + Audiobooks! Learn by listening or reading!

Download the App now to have access to + 5000 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 60 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate