vue项目里实时监听某个div宽度的变化,然后执行相应的事件

Posted 晚星@

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue项目里实时监听某个div宽度的变化,然后执行相应的事件相关的知识,希望对你有一定的参考价值。

directives: {  // 使用局部注册指令的方式
    resize: { // 指令的名称
      bind (el, binding) { // el为绑定的元素,binding为绑定给指令的对象
        let width = '', height = '';
        function isReize () {
          const style = document.defaultView.getComputedStyle(el);
          if (width !== style.width || height !== style.height) {
            binding.value();  // 关键
          }
          width = style.width;
          height = style.height;
        }
        el.__vueSetInterval__ = setInterval(isReize, 300);
      },
      unbind (el) {
        clearInterval(el.__vueSetInterval__);
      }
    }
  },
methods:{
	   // 元素发生变化后执行
    resize () {
      console.log('我变了')
    },
}
template

  <div class="shichang borderColor"
                   v-resize="resize"
                   style="clear:both;margin-top:16px;">
	要监控的区域
</div>

以上是关于vue项目里实时监听某个div宽度的变化,然后执行相应的事件的主要内容,如果未能解决你的问题,请参考以下文章

vue 监听对象里某个值的变化

jquery 监听 css

Echarts图标宽度变成100px,让图表宽度随着父元素自动适应,Vue实时监听宽度的变化,这可能是史上最好的解决方案!

vue 监听某个div垂直滚动条下拉到底部的方法

React 监听子元素dom内容高度变化

vue监听页面宽度高度