vue $nextTick 使用

比如你想让一个dom元素显示,然后下一步去获取这个元素的offsetWidth,最后你获取到的会是0。

因为你改变数据,把show变成true,元素并不会立即显示,理所当然也不会获取到动态宽度。

正确的做法是先把元素show出来,在$nextTick去执行获取宽度的操作,不知道这样说会不会好理解一点。

  openSubmenu() {
      this.show = true
      //获取不到宽度
      this.$nextTick(() => 
       //这里才可以
        let w = this.$refs.submenu.offsetWidth;
      })
    }



猜你喜欢

转载自blog.csdn.net/qq_36416878/article/details/80488074