Vue—nextTick的实现原理

Vue的nextTick用于在数据变化后等待DOM更新。它在全局和实例中有不同的使用方式,确保回调在DOM刷新后执行。Vue通过异步队列处理数据变更,先缓冲同一事件循环中的所有变更,然后在下一个事件循环tick中更新DOM。
摘要由CSDN通过智能技术生成

使用nextTick

全局使用:

// DOM 还没有更新
Vue.nextTick(function () {
   
  // DOM 更新了
})

// 作为一个 Promise 使用
Vue.nextTick().then(function () {
   
    // DOM 更新了
})

实例方法:

new Vue({
   
  // ...
  methods: {
   
    // ...
    example: function () {
   
      // 修改数据
      this.message = 'changed'
      // DOM 还没有更新
      this.$nextTick(function () {
   
        // DOM 现在更新了
        // `this` 绑定到当前实例
        this.doSomethingElse()
      })
    }
  }
})
//全局方法
Vue.nextTick = nextTick;
//实例方法
Vue.prototype.$nextTick = function (fn) {
   
    return nextTick(fn, this)
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值