Custom directive cho phép bạn đóng gói thao tác DOM cấp thấp thành một thuộc tính v-* tái sử dụng. Dùng chúng khi bạn cần truy cập trực tiếp một phần tử (focus, scroll, thư viện DOM bên thứ ba) — những thứ mà component/props không tự nhiên bao quát.
Định nghĩa một directive cục bộ
<script setup>
// một directive là object gồm các lifecycle hook; trong <script setup>, đặt tên vXxx
const vFocus = {
mounted(el) {
el.focus(); // `el` là phần tử DOM thô
},
};
</script>
<template>
<input v-focus /> <!-- tự focus khi mount -->
</template>
