描述
自定义指令 v-resize
-
mounted(el, binding):当元素被挂载到DOM上时,这个钩子会被调用。
- 如果浏览器支持
ResizeObserver,则创建一个ResizeObserver实例来监听元素的大小变化。当变化发生时,它会遍历所有的变化条目,并调用绑定的回调函数binding.value,将变化的详情作为参数传递。 - 如果浏览器不支持
ResizeObserver,则使用一个回退方案。创建一个handleResize函数,当窗口大小变化时,这个函数会被调用,并使用getBoundingClientRect方法获取元素的新大小,然后将这个信息传递给绑定的回调函数。同时,将这个函数绑定到window对象的resize事件上,并立即执行一次以获取初始大小。 - 为了能够在元素卸载时取消监听,将
ResizeObserver实例和handleResize函数分别存储在元素的_resizeObserver和_resizeHandler属性中。
- 如果浏览器支持
-
unmounted(el):当元素被卸载时,这个钩子会被调用。
- 如果元素有
_resizeObserver属性,即浏览器支持Re
- 如果元素有

最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



