커스텀 디렉티브는 저수준 DOM 조작을 재사용 가능한 v-* 속성으로 캡슐화하게 해줍니다. 요소에 직접 접근해야 할 때 사용합니다(포커스, 스크롤, 서드파티 DOM 라이브러리) — 컴포넌트/props가 자연스럽게 다루지 못하는 것들입니다.
로컬 디렉티브 정의
vue
<script setup>
// 디렉티브는 라이프사이클 훅 객체임; <script setup>에서는 vXxx로 이름 지음
const vFocus = {
mounted(el) {
el.focus(); // `el`은 원시 DOM 요소
},
};
</script>
<template>
<input v-focus /> <!-- 마운트 시 자동 포커스 -->
</template>
명명 규칙: 변수 는 디렉티브 가 됩니다.
