useClickOutside()函数的参数为什么不传一个dom节点?
来源:4-11 useClickOutside 第一个自定义函数
12990240jin
2025-11-12
useClickOutside()函数的参数为什么不传一个dom节点,而是传响应式对象,Dropdown组件的节点本来就不变呀?
写回答
1回答
-
张轩
2025-11-13
同学你好
这些考量:
初次为 null挂载前 ref.value 是 null,直接传会监听无效元素支持动态切换
虽然你说“节点不变”,但在 v-if、teleport、条件渲染等场景下,DOM 可能被销毁重建
响应式安全传 ref 让 hook 能自动处理挂载/卸载时机
组合函数设计惯例Vue 组合函数通常接收 Ref 而不是裸值,便于内部 watch
00
相似问题