カスタムディレクティブ を使用すると、低レベルのDOM操作 を再利用可能な v-* 属性としてカプセル化できます。要素に直接アクセスする必要がある場合(focus、scroll、サードパーティ DOM ライブラリ)— コンポーネント/props では自然にはカバーされないものに使用します。
ローカルディレクティブの定義
vue
<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>
