Tutorials / Vue Tutorial
Vue Tutorial
From reactivity fundamentals to Pinia, routing and Laravel integration.
Level 1
Foundation
How it all works under the hood.
- Modern JavaScript for VueModules, arrow functions, destructuring, spread, promises and async/await.
- How Vue WorksReactivity, the virtual DOM and the render cycle.
- Components & SFCsSingle-file components, the component tree and Vite tooling.
- Composition vs Options APITwo ways to write components and when to use each.
Level 2
Basic
First working examples.
- Template Syntax & DirectivesInterpolation, v-bind, v-if, v-for and class bindings.
- Events & Formsv-on, modifiers and two-way binding with v-model.
- Props & EmitsPassing data down and events up between components.
- Computed, Watchers & LifecycleDerived state, side effects and lifecycle hooks.
- Build a To-Do AppA complete small app: add, edit, complete, filter and persist items.
- Fetching Data from an APIfetch, async/await, loading and error states against a real Laravel API.
Level 3
Medium
Real-world patterns.
- ComposablesExtracting and reusing stateful logic.
- Vue Router & Data FetchingClient-side routing, params, guards and loading states.
- Form ValidationClient-side rules, showing errors, and mapping Laravel 422 responses onto fields.
- Search, Filter & PaginateDebounced search, filters in the URL and paginating server-side results.
- Reusable UI ComponentsBuilding a modal, tabs, dropdown and toast you can drop into any app.
- Transitions & Animations<Transition>, <TransitionGroup>, enter/leave classes and list animations.
- Error Handling & DebuggingonErrorCaptured, app.config.errorHandler, error boundaries, Vue DevTools and common warnings.
Level 4
Advanced
Architecture, scale and testing.
- State Management with PiniaStores, getters, actions and when you need global state.
- Slots, Provide/Inject & Render FunctionsFlexible component APIs and dependency injection.
- Vue + Laravel in ProductionVite, Inertia vs API, testing and performance.
- Testing Vue ComponentsVitest and Vue Test Utils: mounting, interacting, mocking fetch and testing composables.
- Performance OptimisationLazy routes, async components, v-memo, shallowRef and avoiding needless re-renders.
- TypeScript with VueTyping props, emits, refs and composables with <script setup lang="ts">.
- Custom Directives & PluginsWriting v-focus-style directives and installable plugins with app.use().