Ответ
Кастомные директивы в Vue позволяют добавлять пользовательскую логику к DOM-элементам. Например, создадим директиву v-focus
, которая автоматически фокусирует элемент при монтировании:
// Регистрация глобальной директивы
app.directive('focus', {
mounted(el) {
el.focus();
}
});
Использование в шаблоне:
<input v-focus placeholder="Автофокус">
Другой пример — директивы с аргументами:
app.directive('color', {
mounted(el, binding) {
el.style.color = binding.value;
}
});
<p v-color="'red'">Текст станет красным</p>
Кастомные директивы полезны для:
- Работы с нативным DOM
- Интеграции сторонних библиотек
- Повторяющихся действий с элементами