位置: IT常识 - 正文

简单易懂 关于nextTick()的理解(关于简单的绘画)

编辑:rootadmin
简单易懂 关于nextTick()的理解 前言

推荐整理分享简单易懂 关于nextTick()的理解(关于简单的绘画),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:关于简单的话,关于简单的故事,关于简单的画画图片,关于简单的故事,关于简单的手抄报图片,关于简单的绘画作品,关于简单的,关于简单的,内容如对您有帮助,希望把文章链接给更多的朋友!

学习Vue的过程中,大家肯定都使用过nextTick(),关于nextTick()的使用时机,大家肯定都知道,那么它的工作原理是怎样的呢,本文就简单说一下它的nextTick()的工作原理。

nextTick的使用时机

首先记住:nextTick所指定的回调会在浏览器更新DOM完毕之后再执行。

举个例子:

在我自己做的一个单页面应用中,我有一个需求,当从后端请求回数据后,马上就对页面进行更新。比如,我要点击操作里的删除操作,前端删除数据后就向后端发请求,后端删除数据后返回数据,如果我们想马上显示到页面上,应该怎么做呢?

可能好多人会像我第一次做那样,比如我这个页面是用 v-for 遍历data这个数据显示出来的,可能好多人就会直接把前端返回的数据直接重新赋值给data。但是这样是绝对不行的!这样只会导致数据其实是变了,但是视图是不会变的,因为vue更新dom是异步的,无法通过同步代码赋值后马上去更新页面。所以即使删除成功了页面也不会显示出来。即使显示删除成功,页面也不会更新。

如何更新

我们的需求是,请求回数据后马上更新页面,首先理解几个点。

1、vue更新Dom是异步更新。简单易懂 关于nextTick()的理解(关于简单的绘画)

如图官网的描述,解释一下这段话,直接看可能有些懵,前两句话,关于同步和异步,以及提到的"事件循环",这就要从JS的运行机制说起,戳我前往。第三句话,“如果同一个 watcher 被多次触发,只会被推入到队列中一次”,这是什么意思呢,也在我的文章中可找到,戳我前往。

2、理解执行时机

读完上面两篇文章,大家应该就知道宏任务和微任务了把,而nextTick内部就是调用宏任务和微任务来完成事件调用的机制,让nextTick里的回调在一个事件循环的最后执行。为什么要在最后呢?在最后即意味着在所有异步任务之后,记得上一点吗,“vue更新Dom是异步更新”,而我们又把nextTick里的回调放在了所有异步任务的最后,这样就解释了最开始那句话,nextTick所指定的回调会在浏览器更新DOM完毕之后再执行。

3、回到例子实现需求

我们想要实现需求,本例我们采用热更新,即只更新局部组件。

我直接把我的子组件全放在router-view里的,通过变化v-if来实现组件更新。

看到这里可能有人会问,这不就是先把v-if设为false,再设置为true来实现吗,要不要nextTick都一样,那么这样想就大错特错了。

还记得刚才说的“如果同一个 watcher 被多次触发,只会被推入到队列中一次”,那篇文章已经解释过了,vue会把所有代码都执行了再去渲染页面,所以我们这两条this.$isRouterAlive = false 和 this.$isRouterAlive = true,相当于只执行了最后一条等于true,false都没执行过,所以相当于还是什么都没做,原始是true,现在还是true。

加了个nextTick就不一样了,这段代码就相当于告诉vue,vue你先帮我执行 this.$isRouterAlive = false,先不要管我nextTick里的东西,你去渲染完了最后再来执行我nextTick里的代码。

这样一说大家是不是就比较明白了,this.$isRouterAlive = true 是在页面渲染过后 再执行的,所以我们肉眼看其实已删除货物,页面马上就更新了,其实其中经过了先把router-view里的子组件取消掉,即v-if = false,然后再让 v-if = true,那么v-if大家都知道就是创建,相当于router-view里的内容被重新创建了,所以此时的数据也是最新的。

本文链接地址:https://www.jiuchutong.com/zhishi/300024.html 转载请保留说明!

上一篇:CSS 实现文字渐变色(css字体设置渐变色)

下一篇:前端面试:浅拷贝和深拷贝的区别?(前端常见面试)

  • 如何利用微博来推广论坛(怎么用好微博)

    如何利用微博来推广论坛(怎么用好微博)

  • 苹果手表怎么断开wifi(苹果手表怎么断开连接)

    苹果手表怎么断开wifi(苹果手表怎么断开连接)

  • 小米门锁nfc怎么用(小米门锁nfc怎么开)

    小米门锁nfc怎么用(小米门锁nfc怎么开)

  • 华为手机投屏小米电视怎么设置(华为手机投屏小米平板)

    华为手机投屏小米电视怎么设置(华为手机投屏小米平板)

  • 华为畅享10s是5g手机吗(华为畅享50是不是5g手机)

    华为畅享10s是5g手机吗(华为畅享50是不是5g手机)

  • 苹果手机设置都开了微信不通知怎么办(苹果手机设置都是黑色)

    苹果手机设置都开了微信不通知怎么办(苹果手机设置都是黑色)

  • qq来信息怎么设置不显示信息(QQ来信息怎么设置)

    qq来信息怎么设置不显示信息(QQ来信息怎么设置)

  • 比vip更高级是什么(比vip更高级的)

    比vip更高级是什么(比vip更高级的)

  • iphone8支持多少w无线快充(iphone8支持多少瓦无线充电)

    iphone8支持多少w无线快充(iphone8支持多少瓦无线充电)

  • 网络460是什么意思(网络460是什么原因)

    网络460是什么意思(网络460是什么原因)

  • 苹果7安兔兔跑分(苹果7跑安兔兔闪退)

    苹果7安兔兔跑分(苹果7跑安兔兔闪退)

  • 苹果11可以录屏幕吗(苹果11怎么录屏)

    苹果11可以录屏幕吗(苹果11怎么录屏)

  • 不能与打印机通讯什么原因(不能与打印机通讯关于墨水)

    不能与打印机通讯什么原因(不能与打印机通讯关于墨水)

  • 小米手机安装不了微信怎么办(小米手机安装不了微信是怎么回事)

    小米手机安装不了微信怎么办(小米手机安装不了微信是怎么回事)

  • 苹果x忘记锁屏密码怎么办(苹果X忘记锁屏密码怎么办)

    苹果x忘记锁屏密码怎么办(苹果X忘记锁屏密码怎么办)

  • 库乐队怎么下载不了(库乐队怎么下载旧版本)

    库乐队怎么下载不了(库乐队怎么下载旧版本)

  • 抖音被对方拉黑是什么样(抖音被对方拉黑怎么联系对方)

    抖音被对方拉黑是什么样(抖音被对方拉黑怎么联系对方)

  • 淘宝怎样转换家乡版(淘宝怎样转换家人付款)

    淘宝怎样转换家乡版(淘宝怎样转换家人付款)

  • 电子游标卡尺的用法(电子游标卡尺的使用方法视频教程)

    电子游标卡尺的用法(电子游标卡尺的使用方法视频教程)

  • 苹果7耳机孔没了怎么插(苹果7耳机孔没声音,好修吗要多少钱)

    苹果7耳机孔没了怎么插(苹果7耳机孔没声音,好修吗要多少钱)

  • 闲鱼上买东西改数量(闲鱼如何改)

    闲鱼上买东西改数量(闲鱼如何改)

  • 荣耀20pro有没有红外(荣耀20pro有没有nfc功能)

    荣耀20pro有没有红外(荣耀20pro有没有nfc功能)

  • airpods后面按键干嘛的(airpods后边的按键)

    airpods后面按键干嘛的(airpods后边的按键)

  • ipad连不上iphone热点(ipad连不上iphone手机热点)

    ipad连不上iphone热点(ipad连不上iphone手机热点)

  • 陶尔米纳古剧院,意大利西西里岛 (© Antonino Bartuccio/eStock Photo)(陶尔米纳电影节)

    陶尔米纳古剧院,意大利西西里岛 (© Antonino Bartuccio/eStock Photo)(陶尔米纳电影节)

  • 【CSS】课程网站 Banner 制作 ② ( Banner 栏版心盒子测量 | Banner 版心盒子模型左侧导航栏代码示例 )(cssschool)

    【CSS】课程网站 Banner 制作 ② ( Banner 栏版心盒子测量 | Banner 版心盒子模型左侧导航栏代码示例 )(cssschool)

  • 购买水果属于什么费用
  • 股东投资属于什么会计要素
  • 销售货物分期付款怎么确认收入
  • 销售企业资金风险点有哪些呢
  • 税务登记证注销证明
  • 委托贷款业务涉嫌诈骗吗
  • 企业所得税债务重组所得
  • 经销商注册什么公司
  • 过节发什么物资给员工好些
  • 质保期内质量问题
  • 企业委托银行收款,银行以办妥手续,而企业尚未收到凭证
  • 部分销售退回怎么开票
  • 不是企业性质的民办学校要交什么税
  • 银行卡的概念和特点
  • 企业所得税汇算清缴账务处理
  • 离婚房屋权属变动怎么办
  • 定额发票是啥
  • 简易征收销项税额咋做账
  • 公路通行费抵扣进项税
  • 其他综合收益的含义
  • 哪里查询发票是否抵扣
  • 购买护肤品的会计分录
  • 不含税进货价
  • 增值税发票的进项和出项要一致吗
  • 出口退税的会计分录实例
  • 公司购买理财产品账务处理
  • 摊余成本等于什么
  • gcasSWUpdater.exe是什么进程 有什么作用 gcasSWUpdater进程查询
  • 贷记卡怎么还利息
  • 什么情况下个人需缴纳房产税
  • 没签订采购合同怎么办
  • php获取本机ip地址
  • php反射获取方法参数
  • 在建工程的核算内容制度依据
  • 主动学习(Active Learning,AL)的理解以及代码流程讲解
  • 微信利用php创建文件
  • 开具销项负数发票 矿产品什么意思
  • 注册劳务派遣公司需要验资吗
  • 无形资产资本化和费用化的区别
  • 实收资本退回给股东需要交印花税吗
  • 收到增值进项发票
  • 汇票收入会计分录
  • 发票冲红如何进入系统
  • 原材料结转成本有几种方法
  • 离岸价的含义
  • 公司开普票和专票税率一样吗
  • 数据库镜像是什么意思
  • 个人对企业的例子
  • 简易计税差额抵扣
  • 成本核算的意义与作用
  • 费用报销单如何粘贴票据
  • 用友软件接口
  • 小额贷款涉及的法律
  • 简易计税办法的有
  • 加息法实际利率计算公式
  • 内部损益是什么
  • 销售货物多收款怎么处理
  • 微众银行贷款到私账吗
  • 加油卡充值发票可以抵税吗
  • 长期应付款涉及哪些业务,应如何进行核算
  • brasil.exe是什么进程
  • centos 常用命令教程
  • win7无权关闭计算机
  • 返回场景和音乐的区别
  • unity 漫反射
  • 深入理解新发展理念,推进供给侧结构性改革 心得体会
  • nodejs nodemon
  • Python自然语言处理PDF
  • opengl颜色代码表
  • Node.js中的全局变量有哪些
  • php redis incr
  • javascript 代码
  • jquery实现输入框自限制
  • node.js介绍
  • 菜鸟教程安卓
  • 分享面试流程
  • 北京地税局上班时间查询
  • 福建生育津贴要交满几个月
  • 新疆房车自驾营地
  • 利润表中所得税费用包括
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设