Vue-面试-自定义指令
2026年10月16日·Admin·1 次浏览
面试题:自定义指令有哪些钩子?和组件有什么区别?
钩子(Vue3)
created:绑定前,可设一次性事件监听。beforeMount:父挂载前。mounted:父挂载后,可操作 DOM(常用:聚焦、第三方库绑定)。beforeUpdate/updated:父更新前后。beforeUnmount/unmounted:卸载前后,清理副作用。
Vue2 名称略有不同(bind/inserted/update/unbind),面试可提「Vue3 与组件生命周期命名对齐」。
典型用途
- 输入框 自动聚焦、点击外部关闭、无限滚动加载、权限禁用 DOM(注意可访问性)。
- 复用 DOM 级行为;若带复杂 UI 与状态,更适合组件。
与组件对比
| 指令 | 组件 | |
|---|---|---|
| 粒度 | 增强已有元素 | 独立封装 UI+逻辑 |
| 模板 | v-xxx |
标签 |
| 状态 | 通常无独立模板 | 自有 data / setup |