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宽度的变化,然后执行相应的事件的主要内容,如果未能解决你的问题,请参考以下文章
Echarts图标宽度变成100px,让图表宽度随着父元素自动适应,Vue实时监听宽度的变化,这可能是史上最好的解决方案!