vue.nextTick()方法的使用详解

Posted shiyujian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue.nextTick()方法的使用详解相关的知识,希望对你有一定的参考价值。

什么是Vue.nextTick()??
 

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

所以就衍生出了这个获取更新后的DOM的Vue方法。所以放在Vue.nextTick()回调函数中的执行的应该是会对DOM进行操作的 js代码;

理解:nextTick(),是将回调函数延迟在下一次dom更新数据后调用,简单的理解是:当数据更新了,在dom中渲染后,自动执行该函数,

 

1 <template>
2   <div class="hello">
3     <div>
4       <button id="firstBtn" @click="testClick()" ref="aa">{{testMsg}}</button>
5     </div>
6   </div>
7 </template>

 

 1 export default {
 2   name: \'HelloWorld\',
 3   data () {
 4   return {
 5     testMsg:"原始值",
 6   }
 7   },
 8   methods:{
 9     testClick:function(){
10       let that=this;
11       that.testMsg="修改后的值";
12       console.log(that.$refs.aa.innerText); //that.$refs.aa获取指定DOM,输出:原始值
13     }
14   }
15 }

当使用Vue.nextTick()时,效果如下

1 methods:{
2   testClick:function(){
3     let that=this;
4     that.testMsg="修改后的值";
5     that.$nextTick(function(){
6       console.log(that.$refs.aa.innerText); //输出:修改后的值
7     });
8   }
9 }

相当于react中setState的回调函数

以上是关于vue.nextTick()方法的使用详解的主要内容,如果未能解决你的问题,请参考以下文章

Vue.nextTick()

Vue.nextTick(callback)

Vue.nextTick(callback)

vue中的nextTick

Vue.js中this.$nextTick()的使用

Vue.js中this.$nextTick()的使用