Этап 8 из 19 · ≈ 20 ч

Vue

Альтернатива с Junior

Прогрессивный фреймворк с шаблонами и реактивностью — альтернатива React.

Vue строит интерфейс из однофайловых компонентов (.vue): шаблон, логика и стили вместе. Реактивность на прокси: изменение ref или reactive автоматически обновляет зависимые части шаблона, без ручной мемоизации.

<script setup>
import { ref, computed } from "vue";
const n = ref(0);
const double = computed(() => n.value * 2);
</script>
<template><button @click="n++">{{ n }} × 2 = {{ double }}</button></template>

Что важно знать

  • Composition API (setup, ref, computed, watch) — современный стиль; Options API встречается в старом коде.
  • Директивы: v-if, v-for с :key, v-model, v-bind, v-on.
  • Экосистема: Pinia (состояние), Vue Router, Nuxt (SSR).
  • Идеи те же, что в React: компоненты, props вниз, события вверх, вычисляемые значения вместо дублирования состояния.

Критерии освоения

Junior ≈ 20 ч

  • Пишет однофайловые компоненты на Composition API с ref, computed и директивами
  • Передаёт данные через props и события, использует v-model

Практика. Сделать на Vue список задач с фильтрами, формой и сохранением.

Middle ≈ 16 ч

  • Управляет состоянием через Pinia и маршрутизацией через Vue Router
  • Объясняет устройство реактивности на прокси и её ограничения

Практика. Сделать на Vue и Nuxt каталог с серверным рендерингом, Pinia и маршрутами.

Проверка знаний

Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.

Вопросы с собеседований

Смотреть все
Как устроен компонент Vue?Junior

Компонент Vue обычно — однофайловый (.vue): блоки <script setup>, <template> и <style scoped>. Шаблон — HTML с директивами: {{ }} для вывода, v-bind (:href), v-on (@click), v-if/v-show, v-for с :key, v-model для форм. Логика в Composition API: ref, reactive…

Полный разбор
Как компоненты Vue обмениваются данными — props, emits, слоты?Junior

Данные идут сверху вниз через props (defineProps), ребёнок их не меняет. Наверх ребёнок сообщает событиями (defineEmits, emit('select', id)), родитель слушает @select. v-model на компоненте — сахар для пропа modelValue и события update:modelValue. Слоты…

Полный разбор
Как работает реактивность во Vue — ref, reactive, computed, watch?Junior

Vue отслеживает, какие реактивные значения прочитал шаблон или вычисление, и при их изменении сам обновляет только зависимое. ref — обёртка для любого значения (в скрипте .value, в шаблоне без него), reactive — реактивный объект (нельзя переприсвоить целиком…

Полный разбор
Как работают ES-модули — import и export?Junior

Модуль — файл со своей областью видимости: наружу видно только то, что экспортировано. Именованный экспорт export function sum импортируют import { sum } (имя совпадает), default — один на модуль, импортируется под любым именем. Импорты статические (в начале…

Полный разбор

Документация

← Вся карта «Frontend-разработчик»

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования