vue.js全局API之nextTick全面解析

官方介绍:在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。

就是DOM更新完成之后执行的方法,并且超级方便的事情是回调函数中的this会绑定到最新的vue实例上。

代码示例如下:

<p ref="mgs">{{mgs}}</p>
<button @click="updateDom">点击更新DOM</button>
data:function () {
  return {
   mgs:"DOM"
  }
 }
updateDom:function () {
     this.mgs = "update Dom";
     console.log(this.$refs.mgs.innerHTML);
     this.$nextTick(function () {
      console.log(this.$refs.mgs.innerHTML);
     })
   }

点击更新按钮,调用updateDom,首先给mgs重新赋值,此时打印页面中p标签对应的内容,以及nextTick中也打印相应的内容,结果如下:

vue.js全局API之nextTick全面解析

从结果可以看出,this.mgs = “update Dom”;执行之后,DOM并没有直接更新,而nextTick是等到DOM更新完成之后进行回调,回调函数中的this已经是更新过的vue

代码地址:https://github.com/Demon-han/vue_demo/

其中nextTick.vue为该实例,其他组件将在其他文章中详细介绍

相关推荐