Vue.js, Vuex & Router Course

This course takes a thorough look at the progressive Vue.js framework. Vue.js is known as the mostapproachable JavaScript framework while still being performant and maintainable. This course will cover allmajor parts with over 200 examples and many exercises.

What you will learn

  • Vue.js architectural concepts
  • Creating and testing Vue.js apps
  • Essential JavaScript 202X for Vue.js
  • Creating reusable components
  • Declarative rendering
  • Templates with interpolations and directives
  • Conditional and list rendering
  • Handling properties and events
  • Working with forms
  • Options API vs Composition API
  • Dynamic and Asynchronous components
  • Debugging and Developer Tools
  • Patterns and Best Practices
  • Vue Routing and navigation
  • Vue CLI & Vite
  • State management with Provide/Inject and Pinia

Aside: Course will always cover the latest version and best or popular practices.
Afterwards, you are able to add Vue parts immediately to both existing and new web applications.

Content:

Introduction:

  • What is Vue.js?
  • Why Vue.js?

Module 1: Language constructs for Vue.js

  • EcmaScript 202X (JavaScript): The relevant features for Vue.js
    • Class syntax
    • Spread operator
    • Arrow functions
    • Object destructuring
    • More..
  • Optional: TypeScript

Module 2: Data binding

  • Data to View: Content, Attributes.
  • View to Data: Events changing data or calling functions
  • Styling: Class and Style attributes

Module 3: Rendering

  • Conditional Rendering
    • v-if
    • v-else
    • v-show
  • List Rendering
    • Array
    • Iterables
    • Object
    • Key (how to use)

Module 4: Adjusted values

  • Computed Properties
  • Watchers

Module 5: Components

  • Render Function
  • Template syntax
  • Data & State Management

Module 6: Multiple components

  • Props
    • Types, Required & validation
    • Defaultes values
    • Naming
  • Emits and Custom Events
  • Provide /Inject for Dependency Injection

Module 7: Multiple components

  • Parent to child communication
  • Child to parent communication

Module 7: Forms

  • Event, key, and other modifiers
  • Input bindings
  • v-model (2-way data binding)

Module 8: Vue CLI, Vite & Debugging

  • Vue CLI & Vite
    • Advantages
    • Commands
  • Vue DevTools
  • Using the browser's DevTools
  • VSCode debugging

Module 9: Slots

  • Single
  • Multiple
  • Default slot content
  • Scoped Slots

Module 10: Dynamics

  • Attributes
  • Events
  • Named Slots
  • Dynamic Components
  • Async Components

Module 11: Going deeper

  • Composition API Advanced Reactivity
  • Suspense for Async Components
  • Accessing the DOM with refs
  • Optional: Teleport

Module 12: Lifecycle Hooks

  • Creation, Destruction
  • Mounting, Updating, Activation

Module 13: Patterns

  • Error Boundaries
  • Higher-Order Components
  • Renderless Components
  • Container Components

Module 14: Performance Optimizations

  • Lazy loading
  • Functional Components
  • v-once
  • v-memo (Vue 3)
  • v-pre
  • v-cloak

Module 15: Router

  • Static routing
  • Dynamic routing
  • Nested routes
  • Catch-all routes (404 handling)
  • Passing props
  • Lazy loading
  • Named routes & views
  • Navigation guards
  • Optional: Programmatic navigation
  • Optional: Transitions
  • Optional: Data fetching

Module 16: Pinia (State Management)

  • Store Structure
  • Getters
  • Actions
  • Modules
  • Setup Stores vs Options Stores

Module 17: Pinia with Vue

  • Using mapState, mapGetters, mapActions
  • Composition API integration
  • Reactivity with storeToRefs

Appendix

Appendix 1: Nuxt

  • Views
  • Routing
  • Data Fetching
  • Prerendering

Appendix 2: Animations

  • State Transitions
  • List Transitions

Appendix 3: Testing

  • Unit Tests
  • Storybook
  • Vue Test Utils (Vue 3)

Appendix 4: JSX

  • JSX vs Template syntax
  • JSX vs JavaScript Appendix 5: Custom Directives

Appendix 5: Custom Directives

Appendix 6: Plugins & Composables

  • Writing Vue Plugins
  • Creating reusable composables

Appendix 7: Maintainable Projects

  • Best practices
  • Code organisation

Appendix 8: Plugins

 

 

 

 

Rick Beerendonk - instructor of the course

Rick is a senior consultant and trainer from The Netherlands.
He has over 25 years of professional experience while working in small, large and fast growing organisations.
His passion is simplicity, wellwritten code and team dynamics.
He is specialised in front-end technologies and speaks regularly about these topics at international events.

Other relevant courses

12. November
3 days
Classroom Virtual
24. September
3 days
Classroom Virtual
6. August
3 days
Classroom
9. September
4 days
Classroom