浏览器resize时,为什么vue子组件的watch会执行?

问题描述

如图,这是子组件,但当我拖动浏览器的边框时,他会不断触发watch里的方法,typeCode也是一个固定的值,想不通,求解

相关代码

子组件
image.png

以下是父组件
image.png

这是console的内容
image.png

阅读 1.8k
2 个回答

你的父组件是放在某个其他组件里面的吗(比如说A组件)?猜测resize的时候A组件会重新render,你的父组件重新render了吧。

看着不像是值改变触发的watch,更像是组件重新渲染,由于设置了immediate,所以每次都会执行

看了下iview-table的源码,确实监听了浏览器resize事件,然后修改组件
image.png

可以尝试给组件加一个key,让他不要重新渲染

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题