Пользовательские директивы позволяют инкапсулировать манипуляцию DOM на низком уровне как повторно используемый атрибут v-*. Используйте их, когда вам нужен прямой доступ к элементу (фокус, прокрутка, библиотеки DOM третьих сторон) — вещи, которые компоненты/пропсы естественным образом не охватывают.
Определение локальной директивы
<script setup>
// a directive is an object of lifecycle hooks; in <script setup>, name it vXxx
const vFocus = {
mounted(el) {
el.focus(); // `el` is the raw DOM element
},
};
</script>
<template>
<input v-focus /> <!-- autofocuses on mount -->
</template>
