Задачи на Vue: написать компонент или composable

↑ 4.1 Vue 3: основы, компоненты, Composition API · ← Предыдущая

Обязательно~4 мин чтенияУровень: middle

Зачем это на собесе

Live coding на Vue: обычно небольшой компонент или composable за 30–40 минут.

Задачи

1. Компонент «Счётчик» с v-model, min/max и шагом.

2. Composable useDebouncedRef(value, delay).

3. Поиск с подсказками: debounce, отмена запроса, состояния loading/error/empty.

4. Бесконечный список: подгрузка при прокрутке.

5. Вкладки (Tabs/Tab) через provide/inject или component :is, клавиатурная навигация.

6. Модальное окно: Teleport, focus trap, закрытие по Esc и клику вне, блокировка прокрутки, aria-modal.

7. Реализуйте useLocalStorage(key, default) с синхронизацией между вкладками.

8. Найдите ошибки в коде.

<script setup>
const { user } = useUser();          // user — не реактивен, если composable вернул reactive
const list = reactive([]);
async function load() { list = await api.list(); }       // замена reactive
</script>
<template><li v-for="(x, i) in list" :key="i" v-if="x.active">{{ x.name }}</li></template>

Как вести себя на live coding

  1. Уточните требования (props, события, доступность, состояния).
  2. Набросайте интерфейс компонента (props/emits/slots), затем реализацию.
  3. Обработайте состояния: loading/empty/error.
  4. Учитывайте доступность и очистку ресурсов.
  5. Назовите, что бы добавили (тесты, оптимизация).

Связанные темы