Автор: dvcarrot

  • Универсальный Drawer на Vue: один компонент вместо модалки, сайдбара и bottom sheet

    Универсальный Drawer на Vue: один компонент вместо модалки, сайдбара и bottom sheet

    от автора

    в

    В интерфейсах постоянно повторяется один и тот же паттерн:что-то должно появиться поверх страницы — сбоку, снизу или на весь экран. Обычно это реализуют по-разному: В итоге — куча дублирующегося кода. А можно сделать один универсальный компонент, который покрывает всё это. 💡 Идея Компонент управляется через v-model и умеет: 🧩 Пример использования <Drawer v-model=»opened» side=»right»> <div…

  • DeferRender: маленький Vue-компонент для контроля момента рендера

    DeferRender: маленький Vue-компонент для контроля момента рендера

    от автора

    в

    В веб-разработке есть класс багов, которые сложно объяснить, но легко увидеть: Во многих случаях причина одна —👉 код выполняется раньше, чем браузер завершил первый рендер В этой статье разберём простой паттерн, который решает эту проблему — DeferRender. 🚧 Проблема: неправильный момент выполнения Когда Vue монтирует компонент: Но твой код может выполниться между этими этапами. Например:…

  • Плавное переключение контента в Vue: маленький компонент, который сильно улучшает UX

    Плавное переключение контента в Vue: маленький компонент, который сильно улучшает UX

    от автора

    в

    В интерфейсах постоянно приходится переключать состояние: Обычно это делают через v-if. И обычно это выглядит… плохо. Резкий скачок, дергается высота, ломается восприятие. В этой статье разберём простой, но мощный паттерн — анимированный переключатель контента, который делает интерфейс заметно приятнее. 🧩 Сам компонент 🎯 Какую задачу он решает Этот компонент делает одну вещь: плавно заменяет один…

  • Scroll-контейнер с тенями на Vue: простой UX-паттерн, который реально улучшает интерфейс

    Scroll-контейнер с тенями на Vue: простой UX-паттерн, который реально улучшает интерфейс

    от автора

    в

    В веб-интерфейсах постоянно встречаются зоны со скроллом: И у всех них есть одна и та же проблема: 👉 пользователь не всегда понимает, что блок можно прокрутить Скролл есть, но визуально это никак не обозначено.Особенно если скроллбар скрыт или минималистичный. 🎯 Решение Добавить тени сверху и снизу, которые появляются в зависимости от позиции скролла: Это простой…

  • Sticky-сайдбар без sticky: когда нужен больший контроль

    Sticky-сайдбар без sticky: когда нужен больший контроль

    от автора

    в

    В предыдущей статье мы разобрали “умный sticky” через смещение (top: -offset).Этот подход позволяет сохранить один скролл страницы и аккуратно обрабатывать длинный контент. Но это не единственный способ. Иногда хочется: В таких случаях можно пойти другим путём и реализовать sticky-поведение вручную — через position: fixed. 💡 Идея подхода Вместо того чтобы “улучшать” position: sticky, мы: 👉…

  • Продолжение темы умный sticky в Vue

    Продолжение темы умный sticky в Vue

    от автора

    в

    В первом варианте мы реализовали “умный sticky” через отслеживание скролла и накопление смещения (delta). Это даёт полный контроль, но у такого подхода есть особенность: положение сайдбара зависит не только от текущего scroll, но и от его истории Иногда это нормально, но можно сделать проще: 👉 не хранить промежуточное состояние вообще👉 а вычислять позицию напрямую из…

  • Умный sticky в Vue: как сделать прилипающий блок, который не ломается от длинного контента

    Умный sticky в Vue: как сделать прилипающий блок, который не ломается от длинного контента

    от автора

    в

    position: sticky — одна из тех вещей, которые кажутся идеальными…пока не начинаешь использовать их в реальном интерфейсе. Особенно если у тебя: В какой-то момент всё начинает ломаться. В этой статье разберём решение:👉 sticky-блок с “внутренней прокруткой” без overflow: auto ❌ Проблема обычного sticky Классический вариант: position: sticky;top: 0; Работает отлично, пока: Но если больше —…

  • AI создаёт иллюзию скорости

    AI создаёт иллюзию скорости

    от автора

    в

    Сейчас принято говорить, что AI ускоряет разработку в разы.На демках это выглядит именно так: написал промпт → получил код → поехали дальше. Но в реальной работе происходит другое. AI не столько ускоряет разработку, сколько создаёт ощущение, что ты ускорился.И это гораздо опаснее. Быстро написать ≠ быстро сделать С AI ты реально начинаешь писать код быстрее:…

  • Использование ECharts в Vue 3: практический пример

    Использование ECharts в Vue 3: практический пример

    от автора

    в ,

    ECharts — мощная библиотека для визуализации данных. Она поддерживает линейные, столбчатые, круговые диаграммы, карты и многое другое. В этой статье разберём, как интегрировать ECharts в Vue 3 с помощью Composition API и показать пример динамической диаграммы. 1. Установка Для Vue 3 лучше использовать пакет echarts и обёртку vue-echarts: npm install echarts vue-echarts 2. Регистрация компонента…

  • VueUse на практике: таймеры, треки и локальное состояние

    VueUse на практике: таймеры, треки и локальное состояние

    от автора

    в ,

    VueUse — это коллекция готовых Composition API утилит для Vue 3. Она позволяет ускорить разработку, уменьшить повторяющийся код и управлять состоянием, эффектами и событиями в реактивном стиле. В этой статье разберём реальные кейсы: таймеры, треки и локальное состояние. 1. Таймеры и интервалы Один из самых популярных хук-функций — useIntervalFn, которая заменяет обычный setInterval и автоматически…