首页 > 其他分享 >vue——nextTick函数

vue——nextTick函数

时间:2022-08-28 20:25:58浏览次数:45  
标签:nextTick vue 函数 DOM created 操作 mounted

一.nextTick的作用

Vue.nextTick作用是在下一次 DOM 更新结束后执行其指定的回调。。

  那么我们的理解是:当数据发生变化之后,DOM视图并不会立即更新,如果我们在发生变化之后立马去获取某个节点或者某个节点的值,很有可能结果就是undefined;因为Vue实现响应式并不是数据发生变化之后DOM立即变化,而是按一定的策略进行DOM的更新;

语法:this.$nextTick(回调函数)

二.案例:

 1.没有使用nextTick:

 

通过代码可知没有在this.$nextTick方法中进行DOM操作,this.$refs.message.innerHTML的值还是初始值

2.使用nextTick:

 

 

使用this.$nextTick值发生了改变,在下次DOM更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的DOM

三.应用场景

在vue的生命周期钩子函数created()中进行DOM操作的时候一定要把DOM操作放入到this.$nextTick()中;

   因为在created钩子函数触发的时候,DOM是没有进行渲染的;DOM没有进行渲染,然后进行DOM操作无疑是徒劳的;

   所以我们在created中进行DOM操作的时候,一定要将DOM操作放入到this.$nextTick()中;、

在mounted中,因为当触发mounted的时候,DOM的挂载和渲染都已经完成了,所以在mounted中进行DOM操作是不会有任何问题的;

 

标签:nextTick,vue,函数,DOM,created,操作,mounted
From: https://www.cnblogs.com/MDRY/p/16633522.html

相关文章

  • JavaScript的函数
    //alert是JavaScript语言提供的一个警告函数//它可以接收任意类型的参数,这个参数就是警告框的提示信息   <!DOCTYPEhtml><htmllang="en"><head><metacharse......
  • 消除Vue重复路由报错
    在VUE中路由遇到Error:Avoidedredundantnavigationtocurrentlocation:报错显示是路由重复在router文件夹下的index.js中加入如下代码,错误消失constoriginalPush......
  • vue——消息订阅与发布(pubsub)
    一.消息订阅与发布:一种组件间通信的方式,适用于任意组件间通信订阅消息:设置消息名==>接收数据的组件进行订阅消息发布消息:传递消息内容==>传递数组的组件进行发布消......
  • vue——全局事件总线(GlobalEventBus)
    一.什么是全局事件总线?1.一种组件间通信的方式,适用于任意组件间通信。是根据VueComponent.prototype.__proto__=Vue.prototype的原理来进行全局引用二.全局事件总线......
  • 为什么Go源码中有些函数没有函数体?
    在Go源码中,有时候我们点开查看,会发现这样的东西:这些是没有函数体的,这是为什么呢?这些是runtime的,也就是实现不是用Go写的,这一类方法,有些用汇编写的,有一些用C写的,可......
  • C++ 用函数打印员工的平均工资
    #include<iostream>#include<windows.h>#include<string>usingnamespacestd;floataverageSalary(intn[],inti){floatsum=0;for(intx=0;x......
  • Vue3.0 编译做了哪些优化
    a.生成BlocktreeVue.js2.x的数据更新并触发重新渲染的粒度是组件级的,单个组件内部需要遍历该组件的整个vnode树。在2.0里,渲染效率的快慢与组件大小成正相关:组......
  • vue 的生命周期
    生命周期就是vue从开始创建到销毁的过程,分为四大步(创建,挂载,更新,销毁),每一步又分为两小步,如beforeCreate,created。beforeCreate前,也就是newVue的时候会初始化事件和......
  • leetcode-793. 阶乘函数后 K 个零
    793.阶乘函数后K个零图床:blogimg/刷题记录/leetcode/793/刷题代码汇总:https://www.cnblogs.com/geaming/p/16428234.html题目思路首先我们令\(zeta(x)\)为\(x!\)......
  • vue3 基础-条件渲染 v-if 和 v-show
    本篇讲vue中对dom元素节点进行"显示和隐藏"的实现方式指令,即v-if和v-show.其实一句话就能说明白,v-if的底层是从dom树中增删节点;而v-show的底层是"di......