起因
之前看有的文章说Vue中获取元素高度宽度是给元素标签加上 ref="xxx"
,之后用 this.$refs.xxx
。但是又有人说用 this.$refs.xxx.$el
,感觉有点迷
方案
给对应的标签加上 ref="xxx"
之后
- 对于原生的 HTML 元素,拿 DOM 用
this.$refs.xxx
- 对于封装过的 Vue 组件,拿 DOM 用
this.$refs.xxx.$el
另外
如果是能拿到 DOM,但是拿不到里面的具体属性(比如offsetHeight),可以看看以下这几篇文章
https://blog.youkuaiyun.com/Stars_in_rain/article/details/107964308
https://blog.youkuaiyun.com/m0_37686205/article/details/96130534