Vue 提供的指令像是 v-if、v-for 等等,除了這些指令外,我們也可以自定義一個指令 v-xxx 出來
app.directive('focus', {
mounted(el) {
el.focus()
}
})
<input v-focus />
全域註冊
// main.js
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
// 全域註冊
app.directive('focus', {
mounted(el) {
el.focus()
}
})
app.mount('#app')
使用方式
<input v-focus />
區域註冊
在單一元件中定義,只有那個元件能使用
<script setup>
const vFocus = {
mounted(el) {
el.focus()
}
}
</script>
<template>
<input v-focus />
</template>
小結
- 如何自定義指令
- 全域註冊與區域註冊
- 指令的生命週期