</> Praktum

Главная / Vue

Фреймворк для интерфейсов

Vue: собери интерфейс без лишнего шума

Vue помогает связать данные и разметку так, чтобы интерфейс обновлялся сам. Начнём с базовых директив, компонентов и небольших задач.

  • Нужен JavaScript
  • 6 тем
  • Понятные примеры
Смотреть темы →

Программа

Учимся на маленьких интерфейсах

Каждая тема — отдельный понятный шаг: данные, условия, списки и компоненты.

Практикумы

Короткие задачи по Vue

Короткие задачи на одну тему: прочитай, повтори в песочнице и проверь результат.

Все материалы

Все материалы раздела Vue

Учебные материалы

Практика: список покупок

Добавь товар в список, отметь купленные и потренируй реактивные данные.

Начать →

Подробнее

Шаблон читает состояние, а не запоминает его сам

В Vue ты описываешь разметку и реактивные данные. Когда меняется ref или поле reactive, шаблон обновляется. Не ищи элемент через document.querySelector, чтобы записать в него ту же самую строку: источник правды тогда раздвоится.

Директивы в шаблоне — это связь. v-bind подставляет значение в атрибут, v-on слушает событие, v-model соединяет поле и данные в обе стороны. Обычный текст в усах выводится как текст, а не как HTML.

<script setup>
import { ref } from "vue";
const title = ref("Первая страница");
</script>

<template>
  <label>
    Название
    <input v-model="title">
  </label>
  <h1>{{ title }}</h1>
</template>

С чего начать раздел

  • Директивы показывают данные и прячут блоки по условию.
  • Реактивность объясняет, почему одно поле обновляет страницу, а другое нет.
  • Компоненты делят интерфейс, когда один файл разросся.
  • v-for и v-model нужны почти в любом маленьком списке задач.
Запомни: Сделай один экран: поле, список и кнопку удаления. На нём встречаются почти все базовые механизмы Vue.

Где обычно теряется обновление

Замена свойства у обычного объекта, который не был реактивным, ничего не перерисует. То же с массивом, если ты хранишь его вне ref. И ещё шаблон может читать правильное значение, но обработчик меняет копию. Смотри в Vue DevTools, какое состояние лежит в компоненте после клика.