【VUE】Vue2中的自定义指令

在 Vue2 中,我们可以使用 Vue.directive 函数来定义自定义指令。自定义指令用于对 DOM 操作的封装和复用。

在 Vue2 中,自定义指令的生命周期钩子函数的功能分别如下:

  • bind: 只调用一次,在指令第一次绑定到元素时调用,用于进行一次性的初始化设置。
  • inserted: 被绑定元素插入父节点时调用,用于进行 DOM 操作。
  • update: 被绑定元素所在的模板更新时调用,而无论绑定值是否变化,以及何时发生变化都会调用。
  • componentUpdated: 被绑定元素所在模板完成一个周期的更新时调用,只要组件数据变化,就会调用。
  • unbind: 只调用一次,在指令解绑时调用,用于清除所有的绑定指令。

常用的自定义指令场景:

  1. v-focus:实现页面加载后自动聚焦到某个表单元素上。
  2. v-limit:限制表单输入框的输入长度,对于超出长度的字符提供错误提示。
  3. v-ellipsis:处理文本溢出的情况,通过省略号的形式显示文本,当用户鼠标悬停在省略号上时显示完整文本内容。
  4. v-scroll:在页面需要滚动操作时,当滚动到特定位置或高度时,显示浮动操作按钮或菜单进行快捷操作。
  5. v-drag:实现拖拽功能,当用户在指定的区域按下鼠标时,可以移动元素到指定的位置。
  6. v-lazy-img:图片懒加载,当图片未出现在用户可视区域内时,不进行请求和加载,当图片出现在用户可视区域内时,进行请求和加载。
  7. v-toggle:实现开关切换功能,当用户点击开关时,改变指定元素的显示状态。
  8. v-tooltip:鼠标悬停在某个元素上时,显示 tooltip 或 popover 提示框。
相关推荐
那年窗外下的雪.5 分钟前
VXLAN EVPN 分层排障:从 VTEP 可达、ARP/MAC 到 MAC Mobility
服务器·前端·网络·数据库·spine
张元清27 分钟前
React useTimeout Hook:声明式 setTimeout 与自动清理 (2026)
javascript·react.js
禁止摆烂_才浅1 小时前
JavaScript 类型判断:instanceof 与 constructor 原理深度解析
前端·javascript·面试
gezg1 小时前
DeepSeek Harness 插件:Excel 拖进输入框,AI 自己去读文件
前端·ai编程
Asize1 小时前
HTTP 明明无状态,登录态怎么就保住了——React + Zustand + JWT 鉴权全流程拆解
前端·javascript
两只羊ovo1 小时前
MCP:AI 界的 USB-C,把模型和世界「插」起来
前端
Darling噜啦啦1 小时前
JWT 登录鉴权全链路:从 Zustand 状态管理到 Axios 拦截器,彻底搞懂前端鉴权工程
前端
可涵不会debug2 小时前
LangChain 示例选择器(Example selectors)完整基础概念解读
服务器·前端·数据库
Csvn2 小时前
😱 React `<StrictMode>`:为什么 useEffect 被调用了两次?别慌,这是特性不是 bug
前端
Asize2 小时前
2 道大厂面试题:TS 工具类型我懂了,CSS 3 列布局把我问住了
前端·css·typescript