Доступ к материалам курса в течение неограниченного времени
Практические задания после каждого урока для закрепления материала
Поддержка преподавателя на протяжении всего обучения
Сертификат о прохождении курса после успешного завершения
Возможность общаться с другими студентами в чате курса
Описание курса
Освойте Vue.js 3: реактивность, компоненты, Router, Pinia и создание современных SPA.
Содержание книги
Всего: 15 глав
Книга, игра и упражнения доступны без регистрации. Видеоуроки — после оплаты курса.
Vue.js — прогрессивный JavaScript-фреймворк для пользовательских интерфейсов. Его можно подключать по частям: от простого виджета на странице до полноценного SPA.Vue 3 использует реактивную систему на Proxy, Virtual DOM...
Точка входа — main.js: createApp(App) создаёт экземпляр приложения, .mount('#app') монтирует его в DOM-элемент из index.html.Корневой компонент App.vue содержит <template>, <script> и опционально &l...
Реактивность — автоматическое обновление DOM при изменении данных. ref() оборачивает примитив или объект; доступ в script — через .value, в template — без .value.reactive() делает реактивным объект (не примитив). Vue отс...
computed() — вычисляемое свойство с кешированием: пересчитывается только при изменении зависимостей. Удобно для фильтрации, форматирования, производных значений.watch() и watchEffect() отслеживают изменения и выполняют п...
v-model — синтаксический сахар для двусторонней привязки. На input: :value + @input. Для checkbox — boolean; для radio — выбранное value; select — value option.Модификаторы: .lazy (change вместо input), .number, .trim. v...
Компонент — переиспользуемый блок UI с собственным шаблоном, логикой и стилями. Импорт в script setup и использование как тег в template.Именование: PascalCase в script, kebab-case в DOM. scoped стили ограничивают CSS ко...
Props — данные от родителя к ребёнку (односторонний поток). defineProps({ title: String, count: { type: Number, default: 0 } }).emit — события от ребёнка к родителю: defineEmits(['save']), $emit('save'...
slot — место для контента от родителя. Default slot: <slot />. Именованные: <slot name="header" />, в родителе <template #header>.Scoped slot передаёт данные в слот: <slot :item="item&...
Composition API группирует логику по функциям, а не по опциям (data, methods). composable — функция useXxx(), возвращающая реактивное состояние и методы.Хуки жизненного цикла: onMounted, onUpdated, onUnmounted. onMounted...
Vue Router — маршрутизация SPA. createRouter с routes и history mode (createWebHistory или createWebHashHistory).router-link — навигация без перезагрузки; router-view — outlet для компонента страницы. Динамические маршру...
Pinia — официальный store для Vue 3. defineStore('id', { state, getters, actions }). В компоненте: const store = useUserStore().state — реактивные данные; getters — вычисляемые из state; actions — методы (async...
Данные с сервера загружают в onMounted или watch. fetch или axios. Состояния: loading, error, data — три ref для UX.async/await в script setup. Обработка ошибок try/catch. Для повторного использования — composable useFet...