Vue3 获取插槽元素宽高:使用 ref 和 $el 属性
在 Vue3 中,可以使用'ref'获取插槽元素的引用,然后使用'$el'属性访问DOM元素,从而获取它的宽高。具体步骤如下:
-
在父组件中,使用
<slot>标签引入插槽,同时为它添加一个ref属性,如下所示:<template> <div> <slot ref='mySlot'></slot> </div> </template> -
在父组件的'mounted'钩子函数中,使用'this.$refs'获取插槽元素的引用,然后使用'$el'属性访问DOM元素,从而获取它的宽高,如下所示:
mounted() { const slotEl = this.$refs.mySlot.$el; const width = slotEl.offsetWidth; const height = slotEl.offsetHeight; console.log('插槽元素的宽度为' + width + 'px,高度为' + height + 'px'); }
通过以上步骤,就可以获取插槽元素的宽高了。需要注意的是,插槽元素的宽高需要在父组件挂载后才能获取,因此需要在'mounted'钩子函数中进行操作。
原文地址: https://www.cveoy.top/t/topic/mUMi 著作权归作者所有。请勿转载和采集!