vue中使用window.resize并去抖动优化

this.clientWidth = document.documentElement.clientWidth
window.onresize = () => {
this.clientWidth = document.documentElement.clientWidth }

上述代码可以实现效果,但是执行的太过于频繁,会造成一定的性能损耗,对此进行了防抖优化。

优化后代码如下:

this.clientWidth = document.documentElement.clientWidth
let resizeTag = true
window.onresize = () => {
  if (resizeTag) {
    this.clientWidth = document.documentElement.clientWidth
    resizeTag = false
    setTimeout(() => {
      resizeTag = true
    }, 100)
  }
}

 参考:https://blog.csdn.net/aliguagua/article/details/78633309

posted @ 2018-09-20 11:59  知九  阅读(2867)  评论(0编辑  收藏  举报