Vue中this.$nextTick的执行时机

一、Vuethis.$nextTick的执行时机,整体可分为两种情况:

第一种:下一次 Dom 更新之后执行(即等待DOM更新结束之后,执行nextTick的延迟回调函数);

第二种:页面挂载后 (mounted)执行。

二、使用场景与举例:

对应第一种:

a. 修改数据后需要等待Vue.js完成视图更新后,再执行特定的逻辑。

b. 在事件触发修改数据的时候,不是立即获取页面最新的节点,而是等到页面重新渲染完成以后再次执行回调方法中的内容。

javascript 复制代码
methods: {
    // ...
    example: function () {
      // 修改数据
      this.message = 'changed'
	  // ....一些逻辑
      // DOM 还没有更新
      this.$nextTick(function () {
        // DOM 现在更新了
        this.doSomethingElse()
      })
    }
  }

对应第二种:

c. 注意 mounted 不会保证所有的子组件也都被挂载完成。如果你希望等到整个视图都渲染完毕再执行某些操作,可以在 mounted 内部使用 vm.$nextTick

javascript 复制代码
mounted: function () {
  this.$nextTick(function () {
    // 仅在整个视图都被渲染之后才会运行的代码
  })
}

实例被挂载后调用,这时 el 被新创建的 vm.$el 替换了。

如果根实例挂载到了一个文档内的元素上,当 mounted 被调用时 vm.$el 也在文档内。

更多内容参考:vue官网-nextTick

相关推荐
tedcloud1234 小时前
RTK部署教程:构建稳定的AI Workflow环境
服务器·javascript·人工智能·typescript·ocr
ZC跨境爬虫5 小时前
跟着 MDN 学CSS day_16:(深入掌握背景与边框的艺术)
前端·css·ui·html·tensorflow
愚者Pro7 小时前
Flutter Widget组件学习(专为 Uniapp 转 Flutter 定制)
vue.js·学习·flutter·uni-app
道里7 小时前
花了 5 万刀用 AI 写代码之后,这是我的全部经验
前端·人工智能
Royzst8 小时前
xml知识点
java·服务器·前端
IT_陈寒8 小时前
React useEffect闭包陷阱差点把我整失业了
前端·人工智能·后端
kyriewen9 小时前
推行AI写代码一年后,Code Review变成了新的加班理由
前端·ai编程·cursor
前端环境观察室9 小时前
给 Agent Browser Workflow 加一层可观测性:Trace、Snapshot 和 Review Queue
前端
柒瑞9 小时前
Superpowers结合Claude code浅实战
前端
Nian.Baikal10 小时前
从零搭建离线地图服务:Nginx + Cesium/Leaflet 实战指南
运维·前端·nginx