当前位置:   article > 正文

vue 监听dom元素尺寸大小改变_vue监听dom尺寸变化

vue监听dom尺寸变化

方法:使用element-resize-detector插件来实现

实现:

1、安装插件,npm install element-resize-detector
2、在main.js中引入依赖,并挂在vue原型链上:
import ElementResizeDetectorMaker from "element-resize-detector"
Vue.prototype.$erd = ElementResizeDetectorMaker()
3、在界面中使用_this.$erd.listenTo()去做监听,示例代码如下:

  1. mounted() {
  2. const _this = this
  3. _this.$erd.listenTo(_this.$refs.advertisement, element => {
  4. // 这里写监听到尺寸变化后需要做的事
  5. // 我这里是想让类名为advertisement的dom元素的宽高比为780:230
  6. const newHeight = Math.floor(230 / 780 * element.clientWidth) + 'px'
  7. _this.$nextTick(() => {
  8. document.getElementsByClassName('advertisement')[0].style.height = newHeight
  9. })
  10. })
  11. },
  12. beforeDestroy() {
  13. const _this = this
  14. // 离开页面删除检测器和所有侦听器
  15. _this.$erd.uninstall(_this.$refs.advertisement) // 这里用ref是因为vue离开页面后获取不到dom
  16. },

 参考地址:vue中如何实现对dom元素大小改变的监听_vue监听dom尺寸变化_coldriversnow的博客-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/223155
推荐阅读
相关标签
  

闽ICP备14008679号