Skip to main content

Що таке директиви Vue?

Директиви Vue - це спеціальні атрибути в шаблоні, які дозволяють «прив'язувати» логіку до DOM-елементів і керувати їхньою поведінкою. Вони завжди починаються з префікса v-.

Простіше кажучи: директиви - це спосіб сказати Vue, що робити з елементом у шаблоні.


Стандартні директиви Vue

Ось найпоширеніші:

ДирективаЩо робить
v-bindЗв'язує значення з атрибутами (динамічні атрибути)
v-modelДвостороннє прив'язування даних
v-if / v-else / v-else-ifУмовний рендеринг
v-showПоказ/приховування через CSS display
v-forЦикл для списків
v-on (@)Прив'язування подій
v-slotРобота зі слотами в компонентах
v-htmlВставляє HTML (небезпечно!)

Простий приклад

javascript
<div id="app"> <p v-if="isVisible">Привіт!</p> <input v-model="message" /> <button @click="toggle">Показати/приховати</button> <p v-bind:title="message"> Наведи на мене - побачиш message </p> </div>
javascript
const app = Vue.createApp({ data() { return { isVisible: true, message: "Hello Vue" } }, methods: { toggle() { this.isVisible = !this.isVisible; } } }).mount('#app');

Навіщо потрібні користувацькі директиви?

Vue надає базовий набір, але іноді потрібно керувати DOM вручну:

  • автофокус поля вводу;
  • маски вводу (наприклад, телефону);
  • анімації;
  • робота із зовнішніми бібліотеками (наприклад, tooltip, drag&drop).

Для цього створюються кастомні директиви.

Приклад власної директиви v-focus

javascript
const app = Vue.createApp({}); app.directive('focus', { mounted(el) { el.focus(); } });

І використання:

javascript
<input v-focus />

Життєвий цикл директиви (Vue 3)

У користувацької директиви є хуки:

ХукКоли викликається
createdпід час створення директиви
beforeMountперед монтуванням у DOM
mountedпісля вставки в DOM
beforeUpdateперед оновленням VDOM
updatedпісля оновлення
beforeUnmountперед видаленням
unmountedпісля видалення

Підсумок

Директиви - це механізм Vue для керування DOM. Вони дозволяють:

  • прив'язувати дані до атрибутів,
  • слухати події,
  • показувати/приховувати елементи,
  • повторювати елементи списком,
  • керувати вводом,
  • писати власну DOM-логіку.

Якщо на співбесіді запитають, можна коротко відповісти:

«Директиви - це атрибути виду v-, які дозволяють керувати DOM у шаблоні. Vue має стандартні директиви і дозволяє створювати користувацькі для кастомної поведінки елементів.»

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.