2 min read
Last update: December 19, 2021

From Vue 2 to Vue 3

Vue 3 is packed full of cool new tools and gizmos to empower your applications even further. As developers the more of these features we know and understand, the more powerful and feature rich applications we are able to deliver.

Vue 3 doesn’t actually come with a lot of breaking changes in relation to Vue 2, but due to it being a complete rewrite, some breaking changes were unavoidable and necessary.

If you have an application that is currently using props, receiving attributes and/or emitting events to communicate with a parent this course is for you.

Disclaimer. This course is intended for developers that already have experience with Vue 2. I’m going to assume that you already know how to make your own custom components, and that you are very comfortable with how core API features like v-model, props, emits and listeners work.

Furthermore I’m not going to cover the Composition API in this course. If you want a refresher or you’re completely new to it, we have a fantastic course called Vue 3 Essentials that I highly recommend you check out first.

Having said that, let’s talk about what you’re going to learn in this course!

First we’ll take a deep dive in to the new v-model. There’s a lot of exciting new features to be learned, like the new defaults for binding value and emiting events.

We’ll also cover multi v-model bindings into a single component (yes that’s a thing now!), and how to create your own custom v-model modifiers.

Later on in the course, we’ll take a look at the new $attrs. We’ll see how the removal of $listeners plays a part into component development, and the importance of being able to control class and style as fall-through attributes now.

Finally, we’re going to take a look at multi-root components and its caveats, like controlling attribute fall-through and the infamous inheritAttrs, when and why to use it.

All of these concepts are super general and can be applied to most of the components out there in the wild.

Ready to jump right in?

See you in the first lesson!