欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue中nextTick用法实例

程序员文章站 2022-08-02 21:14:32
什么是vue.nexttick() 官方文档解释如下: 在下次 dom 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 dom。...

什么是vue.nexttick()

官方文档解释如下:

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

我理解的官方文档的这句话的侧重点在最后那半句获取更新后的dom,获取更新后的dom言外之意就是什么操作需要用到了更新后的dom而不能使用之前的dom或者使用更新前的dom或出问题,所以就衍生出了这个获取更新后的dom的vue方法。所以放在vue.nexttick()回调函数中的执行的应该是会对dom进行操作的 js代码,比如swiper扩展包的

var swiper = new swiper('.swiper-container', {
   pagination: '.swiper-pagination',
   nextbutton: '.swiper-button-next',
   prevbutton: '.swiper-button-prev',
   paginationclickable: true,
   spacebetween: 30,
   centeredslides: true,
   autoplay: 2500,
   autoplaydisableoninteraction: false
  });
<ul id="demo">
  <li v-for="item in list">{{item}}</div>
</ul>
 
 new vue({
  el:'#demo',
  data:{
   list=[0,1,2,3,4,5,6,7,8,9,10]
  },
  methods:{
   push:function(){
     this.list.push(11);
     this.nexttick(function(){
       alert('数据已经更新')
     });

     this.$nexttick(function(){
       alert('v-for渲染已经完成')
     })
   }
}})
  • vue.nexttick(callback)`,当数据发生变化,更新后执行回调。
  • vue.$nexttick(callback)`,当dom发生变化,更新后执行的回调。

以上就是本次介绍的全部知识点内容,感谢大家对的支持。