自定义指令
1注册全局指令
// 注册一个全局自定义指令 `v-focus` Vue.directive('focus', { // 当被绑定的元素插入到 DOM 中时…… inserted: function (el) { // 聚焦元素 el.focus() } })
2注册局部指令
directives: { focus: { // 指令的定义 inserted: function (el) { el.focus() } } }
3使用
<input v-focus>
4参数意义
1、钩子 // 只调用一次 指令第一次绑定到元素时触发 bind(el, binding, vnode, oldvnode) {} // 被绑定元素插入到父节点时调用 inserted(el, binding, vnode, oldvnode) {} // 组件所在的VNode更新时触发, update(el, binding, vnode, oldvnode) {} // 指令所在组件的VNode及其子VNode 更新之后触发 componentUpdated(el, binding, vnode, oldvnode) {} // 只调用一次 指定与元素解绑时触发 unbind(el, bingding, vnode, oldvnode) {} 2、参数 el 指的是所绑定的Dom元素 el.dataset 指的是元素自定义的参数值,可以修改,可以用来和上面的钩子函数之前传递信息 bingding 是一个对象 name: 去掉"v-"及后缀后的名称 rawName: 自定义的全部名称 express: 是个字符串,展示指令绑定的值value value: 指令绑定的值 arg: 传给指令的参数,如果没有传给指令参数则不会出现此参数
5自定义指令实现权限控制
checkArray()方法是检测指令传值是否有权限
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南