Vue 3 делает создание динамических интерфейсов невероятно простым и интуитивным. Благодаря мощной системе шаблонов и современному Composition API мы можем связать данные с HTML-разметкой и управлять поведением компонентов через JavaScript — всё в рамках одного декларативного подхода.
🧩 1. Что такое шаблоны Vue
Шаблон (template) — это разметка, которая описывает, как должны отображаться данные компонента.
Vue расширяет стандартный HTML, добавляя специальные директивы и выражения для реактивного связывания данных и управления DOM.
Пример простого шаблона:
<template>
<h1>Привет, {{ name }}!</h1>
<p>Сегодня {{ new Date().toLocaleDateString() }}</p>
</template>
<script setup>
const name = 'Vue-разработчик'
</script>
Здесь {{ name }} — это интерполяция, позволяющая динамически подставлять значения переменных прямо в HTML.
🧠 2. Связывание атрибутов с помощью v-bind
В HTML атрибуты обычно принимают только статические значения.
Во Vue мы можем сделать их реактивными, используя директиву v-bind или короткую запись ::
<template>
<img :src="imageUrl" :alt="imageDescription" />
</template>
<script setup>
const imageUrl = 'https://vuejs.org/images/logo.png'
const imageDescription = 'Логотип Vue'
</script>
Когда значение переменной imageUrl изменится, Vue автоматически обновит атрибут src без перерисовки всей страницы.
⚙️ 3. JavaScript внутри шаблонов
Внутри {{ ... }} можно писать простые JS-выражения:
арифметику, обращения к методам, тернарные операторы и т.д.
<template>
<p>{{ count * 2 }}</p>
<p>{{ isActive ? 'Активно' : 'Неактивно' }}</p>
<p>{{ message.toUpperCase() }}</p>
</template>
<script setup>
const count = 5
const isActive = true
const message = 'vue 3 — это круто!'
</script>
⚠️ Важно: внутри шаблона нельзя писать сложные выражения, циклы или объявления переменных — всё это нужно выносить в логику компонента.
🧬 4. Введение в Composition API
Composition API — это современный способ организации логики в компонентах Vue.
Он позволяет использовать реактивные переменные, вычисляемые свойства и жизненные циклы через функции, а не через объект data, methods, computed и т.д.
Пример базового компонента с Composition API:
<template>
<div>
<h2>{{ message }}</h2>
<button @click="increment">Счётчик: {{ count }}</button>
</div>
</template>
<script setup>
import { ref } from 'vue'
const message = 'Добро пожаловать в Composition API'
const count = ref(0)
function increment() {
count.value++
}
</script>
Здесь ref() создаёт реактивное значение, а Vue следит за его изменениями и обновляет интерфейс.
Такой подход делает код модульным, читаемым и удобным для повторного использования.
🧩 5. Почему это важно
Понимание принципов работы шаблонов и Composition API — ключ к созданию гибких, реактивных и масштабируемых приложений.
Это фундамент, на котором строятся:
управление состоянием;
маршрутизация;
работа с API;
и даже пользовательские хуки (composables).
💡 Заключение
Теперь вы знаете, как связывать данные с HTML, управлять атрибутами, использовать JavaScript в шаблонах и строить реактивные компоненты с помощью Composition API.
В следующей главе мы разберём реактивность и жизненный цикл компонентов Vue 3 — то, как Vue отслеживает изменения и обновляет интерфейс без вашего участия.
Vue3.ru