app.directive() 全局注册指令
最后更新:2026-10-22
app.directive() 全局注册指令
app.directive() 注册全局自定义指令:在任何组件模板里用 v-xxx 使用,适合权限、点击外部等通用行为。
| 分组 | 全局 API |
|---|---|
| 类型 | API |
| 作用域 | 全局 |
| Vue 版本 | 3.0+ |
| SSR 支持 | 支持 |
📝 语法
app.directive("focus", {
mounted(el) { el.focus() }
})
⚙️ 参数
| name, directive? | 指令名(用 v- 时去掉前缀)+ 指令定义(含 mounted/updated 等钩子) |
|---|
返回值:应用实例(可链式)
▶ 示例
修改下面的代码,在预览区实时查看效果:
输出:
输入框自动获得焦点。
💡 要点
ℹ️ 说明 指令钩子与生命周期同名:created/beforeMount/mounted/beforeUpdate/updated/beforeUnmount/unmounted。
💡 提示 能封装成组合式函数的优先用组合式;指令适合“纯 DOM 行为”且复用面广的场景。
⚠️ 注意 指令的参数与修饰符写在 binding 对象里,注意解构取值。
🏷️ 相关全局 API
💡 相关案例
更多案例即将上线。
📚 相关教程
❓ 常见问题
Q 和组合式函数怎么选?
A 需要直接操作元素且复用面广 → 指令;需要状态与逻辑 → 组合式函数。
Q 指令能接收参数吗?
A 能:v-demo:arg.mod="value",从 binding.arg/modifiers/value 读取。
Q 局部指令怎么写?
A 组件内用 directives 选项声明,只在该组件模板可用。