- Главная
- Проекты на Vue
- Случайный выбор (randomizer)
Случайный выбор (randomizer)
Создание интерактивных элементов на чистом JavaScript может превратиться в многострочную рутину по обработке событий, обновлению DOM и управлению состоянием. Фреймворк Vue.js кардинально упрощает эту задачу. Его реактивная система данных и декларативный подход позволяют описывать логику и внешний вид компонента в одной понятной связке, а об обновлении интерфейса позаботится сам Vue.
Яркий пример — этот компонент «Случайный Выбор» (рандомайзер). Он наглядно демонстрирует, как с минимальным количеством кода на Vue можно создать динамический, отзывчивый и визуально эффектный инструмент для посетителей вашего сайта. Просто посмотрите, как он работает!
Вводите варианты, разделяя их запятой (',').
Закончив, нажмите Enter.
{{ item }}
{{ item }}
Внимание! Представленный код — это готовый компонент, но для его работы на странице должен быть установлен и подключен фреймворк Vue. Если вы начинающий разработчик, просто добавьте строку <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
в раздел <head> вашего HTML, и всё заработает.
Как работает этот код? Пояснения
- Реактивность (
ref,computed): Переменныеarr,textиpickedявляются реактивными. Когда они меняются (например,textпри вводе илиpickedпри выборе), Vue автоматически обновляет связанные с ними части интерфейса.splitChoices— вычисляемое свойство, которое динамически преобразует введённый текст в массив для превью. - Двустороннее связывание (
v-model): Директиваv-model="text"наtextareaсвязывает её содержимое с реактивной переменнойtext. Ввод данных пользователем сразу меняет состояние приложения. - Условный рендеринг
v-ifи циклыv-for: Шаблон гибко меняется в зависимости от состояния.v-if="text.length === 0"скрывает финальные варианты, пока идёт ввод.v-forиспользуется для отрисовки списка вариантов как в превью, так и в финальном виде. - Динамические классы
:class: Классpickedдинамически добавляется к элементу, чей индекс совпадает сpicked.value. Это меняет цвет фона на зелёный, визуально выделяя выбранный случайным образом вариант. - Обработка событий: В хуке
onMountedглобально отслеживается нажатие клавишиEnter. При срабатывании происходит основная логика: парсинг вариантов, запуск и остановка «лотереи» с помощьюsetInterval/setTimeout.
Нужен уникальный и креативный интерактив для вашего сайта?
Этот компонент — лишь небольшая демонстрация возможностей современной фронтенд-разработки. Мы готовы создать для вас любой интерактивный элемент: от сложных динамических интерфейсов и анимированных виджетов до полномасштабных веб-приложений.
Обращайтесь! Наша веб-студия воплотит ваши идеи в живой, вовлекающий код, который удержит внимание пользователей и решит их задачи.