Vue.nextTick( [callback, context] )

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

Vue.nextTick(() => {})  /  this.$nextTick(() => {// 更新完成})

<template lang="html">
   <div>
       <span>{{msg}}</span>
   </div>
</template>

<script>
export default {
    data () {
        return {
            msg: ‘没有更新之前‘
        }
    },
    methods: {
        updateMsg () {
            this.msg = ‘更新完成‘
            console.log(‘aaa‘, this.$el.textContent) // 没有更新之前
            this.$nextTick(() => {
                console.log(‘bb‘, this.$el.textContent) // 更新完成
            })
        }
    },
    mounted () {
        this.updateMsg()
    }
}
</script>

<style lang="css">
</style>
时间: 2024-10-31 20:01:22

Vue.nextTick( [callback, context] )的相关文章

Vue系列---理解Vue.nextTick使用及源码分析(五)

_ 阅读目录 一. 什么是Vue.nextTick()? 二. Vue.nextTick()方法的应用场景有哪些? 2.1 更改数据后,进行节点DOM操作. 2.2 在created生命周期中进行DOM操作. 三. Vue.nextTick的调用方式如下: 四:vm.$nextTick 与 setTimeout 的区别是什么? 五:理解 MutationObserver 六:nextTick源码分析 回到顶部 一. 什么是Vue.nextTick()? 官方文档解释为:在下次DOM更新循环结束之

Vue.nextTick()的正确使用

Vue异步执行DOM更新.只要观察导数据变化,Vue将开启一个队列,并缓冲在同一事件循环中发生的所有数据改变,如果同一个watcher被多次触发,只会一次推入到队列中.这种在缓冲时去除重复数据对于避免不必要的计算和DOM 操作上非常重要.然后,在下一个事件循环'tick'中,Vue刷新队列并执行实际(已去重的)工作. 虽然Vue.js通常鼓励开发人员沿着'数据驱动'的方式思考,避免直接接触DOM,但是有时我们确实要这么做.为了在数据变化之后等待Vue完成更新DOM,可以在数据变化之后立即使用 V

Vue.nextTick 到底有什么用?

Vue 虽然采用了“数据驱动”的思想,但我们依然需要在某些情况下进行少量的 DOM 操作.在 Vue 中,异步执行 DOM 更新.多数情况下,我们并不需要考虑这个过程,但是如果我们的某个操作中,DOM1 的数据变化后,DOM2  需要从 DOM1 的 DOM 结构中获取数据,就会发现数据并没有实时更新,这时候就需要用到  nextTick 我们都知道大多数情况下 Vue 数据变化后,相应的 html 也随着发生变化.事实上,当数据发生改变后,对应的 html 并没有立即重新渲染, 而是开启一个队

我理解的关于Vue.nextTick()的正确使用

关于作者 程序开发人员,不拘泥于语言与技术,目前主要从事PHP和前端开发,使用Laravel和VueJs,App端使用Apicloud混合式开发.合适和够用是最完美的追求. 个人网站:http://www.linganmin.cn 最近刚写了一个手机在线播放的H5电影站:http://www.ifilm.ltd 什么是Vue.nextTick() 官方文档解释如下: 在下次 DOM 更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法,获取更新后的 DOM. 我理解的官方文档的这句话的侧

vue nextTick使用

Vue nextTick使用 vue生命周期 用法:在下次 DOM 更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法,获取更新后的 DOM. 通俗来说就是修改data后dom不会马上改变   可以调用 this.$nextTick 来立刻获取到data改变后dom数据. (比如我们通过ajax请求数据修改dom,发生ajax请求后立即使用 this.$refs获取dom,结果为undfined,因为修改data后dom不会马上改变,可以通过this.$nextTick) this.$

vue nextTick深入理解-vue性能优化、DOM更新时机、事件循环机制

一.定义[nextTick.事件循环] nextTick的由来: 由于VUE的数据驱动视图更新,是异步的,即修改数据的当下,视图不会立刻更新,而是等同一事件循环中的所有数据变化完成之后,再统一进行视图更新. nextTick的触发时机: 在同一事件循环中的数据变化后,DOM完成更新,立即执行nextTick(callback)内的回调. 应用场景: 需要在视图更新之后,基于新的视图进行操作. 以上出现了事件循环的概念,其涉及到JS的运行机制,包括主线程的执行栈.异步队列.异步API.事件循环的协

Vue.nextTick 的原理和用途

用法: 在下次 DOM 更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法,获取更新后的 DOM. Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新. 在 Vue 的文档中,说明 Vue 是异步执行 DOM 更新的.关于异步的解析,可以查看阮一峰老师的这篇文章.截取关键部分如下: 具体来说,异步执行的运行机制如下. (1)所有同步任务都在主线程上执行,形成一个执行栈(execution context stack).(2)主线程之外,还存

Vue nextTick 理解

官网解释: 将回调延迟到下次 DOM 更新循环之后执行.在修改数据之后立即使用它,然后等待 DOM 更新.它跟全局方法 Vue.nextTick 一样,不同的是回调的 this 自动绑定到调用它的实例上. 我的理解:在vue完全操作完DOM之后的回调函数. 也就是说如果不调用nextTick直接用JS操作DOM的话,会出现DOM不一样的状态(数量或者属性等)

Node.js的process.nextTick(callback)理解

Node.js是单线程的,基于事件循环,非阻塞 IO的.事件循环中使用一个事件队列,在每个时间点上,系统只会处理一个事件,即使电脑有多个CPU核心,也无法同时并行的处理多个事件.因此,node.js适合处理I/O型的应用,不适合那种CPU运算密集型的应用.在I/O型的应用中,给每一个输入输出定义一个回调函数,node.js会自动将其加入到事件轮询的处理队列里,当I/O操作完成后,这个回调函数会被触发,系统会继续处理其他的请求. 在这里用debuggable.com上的那个文章中的一段比喻来讲,非