位置: 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字体设置渐变色)

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

  • 微信读书怎样设置私密阅读(微信读书怎样设置带拼音)

    微信读书怎样设置私密阅读(微信读书怎样设置带拼音)

  • 华为打印机怎么连接手机(华为打印机怎么换墨盒视频)

    华为打印机怎么连接手机(华为打印机怎么换墨盒视频)

  • 荣耀9x的开机键在哪里(荣耀9开机键坏了怎么开机)

    荣耀9x的开机键在哪里(荣耀9开机键坏了怎么开机)

  • 短信特效对方看不到(短信特效对方看得到吗)

    短信特效对方看不到(短信特效对方看得到吗)

  • 电脑端微信聊天记录怎么查看(电脑端微信聊天记录迁移到别的电脑)

    电脑端微信聊天记录怎么查看(电脑端微信聊天记录迁移到别的电脑)

  • 不能分屏的应用怎么分屏(不能分屏的应用怎么分屏小米)

    不能分屏的应用怎么分屏(不能分屏的应用怎么分屏小米)

  • 蓝牙耳机左耳没声音了(蓝牙耳机左耳没电了右耳还能用吗)

    蓝牙耳机左耳没声音了(蓝牙耳机左耳没电了右耳还能用吗)

  • 微信向商家付款怎么设置密码(微信向商家付款付不出咋回事)

    微信向商家付款怎么设置密码(微信向商家付款付不出咋回事)

  • 华为recyclebinhw能删吗(华为recyclebinhw里面的文件能删吗)

    华为recyclebinhw能删吗(华为recyclebinhw里面的文件能删吗)

  • 华为p30录屏怎么录(华为p30录屏怎么录声音)

    华为p30录屏怎么录(华为p30录屏怎么录声音)

  • 淘宝已处理评价是什么情况(淘宝已处理评价怎么恢复正常)

    淘宝已处理评价是什么情况(淘宝已处理评价怎么恢复正常)

  • excel不能复制粘贴怎么办(excel 不能复制)

    excel不能复制粘贴怎么办(excel 不能复制)

  • 支付宝购物车在哪里查看(支付宝里的购物车)

    支付宝购物车在哪里查看(支付宝里的购物车)

  • 荣耀20se什么时候上市(荣耀20se怎么样值得买吗)

    荣耀20se什么时候上市(荣耀20se怎么样值得买吗)

  • 戴尔进bios快捷键(dell进入bios快捷键 win10)

    戴尔进bios快捷键(dell进入bios快捷键 win10)

  • 苹果11听筒也是扬声器吗(苹果11的通病听筒)

    苹果11听筒也是扬声器吗(苹果11的通病听筒)

  • u盘扫描并修复的原因(u盘扫描并修复后文件会消失吗)

    u盘扫描并修复的原因(u盘扫描并修复后文件会消失吗)

  • 为什么文档不能编辑了(为什么文档不能修改)

    为什么文档不能编辑了(为什么文档不能修改)

  • 全民k歌如何去掉访问痕迹(全民k歌如何去掉伴奏)

    全民k歌如何去掉访问痕迹(全民k歌如何去掉伴奏)

  • 就寝闹钟图标怎么删(闹钟里面的就寝闹钟怎么取消)

    就寝闹钟图标怎么删(闹钟里面的就寝闹钟怎么取消)

  • 微博手机号不用了怎么更换绑定手机(微博手机号不用了,怎么找回那个微博账号)

    微博手机号不用了怎么更换绑定手机(微博手机号不用了,怎么找回那个微博账号)

  • 买苹果xsmax送无线耳机吗(iphone xs max送无线耳机吗)

    买苹果xsmax送无线耳机吗(iphone xs max送无线耳机吗)

  • 顶格怎么设置(word左顶格怎么设置)

    顶格怎么设置(word左顶格怎么设置)

  • switch兑换序号是什么(switch兑换码在哪里兑换)

    switch兑换序号是什么(switch兑换码在哪里兑换)

  • cad算面积快捷键(cad算面积快捷键框面积)

    cad算面积快捷键(cad算面积快捷键框面积)

  • 系统垃圾清理,如何一键清除笔记本系统垃圾(鸿蒙系统垃圾清理)

    系统垃圾清理,如何一键清除笔记本系统垃圾(鸿蒙系统垃圾清理)

  • 全国增值税发票查询平台 手机版
  • 如何理解递延所得税费用的计算公式
  • 税控盘是什么东西多少钱
  • 网银年费怎么做会计分录的
  • 建筑 分包
  • 递延收益金额怎么算
  • 销售预付卡的成本是什么
  • 上个月的进项发票可以这个月勾选吗
  • 社平工资调整补差什么意思
  • 稳岗补贴会计怎么做账
  • 以库存抵债的账务处理
  • 企业稀释股份
  • 变动成本率的计算公式字母
  • 受托代理资产核算
  • 关于研发支出的报告
  • 红冲无票收入怎么报税
  • 电脑怎么一键返回到桌面
  • 应交增值税的结转
  • 网络平台上进行网络营销
  • macbook显示隐藏文件
  • bios boot设置
  • php集成包
  • Qq浏览器里的文档怎么以文件形式发送
  • 加班费如何做账
  • 分公司 股东
  • ipad哪款最贵
  • 往来款怎么查
  • 购货款先到支付后付款
  • 什么是技术服务工程师
  • 要点初见:Stable Diffusion NovelAI模型优质文字Tag汇总与实践【魔咒汇总】
  • openai发布时间
  • http命令
  • 马踏棋盘游戏规则
  • 销售物流
  • 应付现金股利属于什么账户
  • 个体户超过定额,税率按核定税率吗
  • 公司贷款谁签字
  • 原材料的主要账目有哪些
  • 外贸进项税额怎么算
  • SQL SERVER 2000通讯管道后复用劫持
  • mysql多表左连接查询
  • 其他收益属于什么类科目
  • 个体工商户个税多久申报一次
  • 运输途中发生的合理损失
  • 对公账户 退款
  • 个人所得税征税对象是什么
  • 本月损益类未结转为零的一级科目怎么操作
  • 发票冲红重开摘要如何写合适?
  • 股权转让会计账务处理方法
  • 申购费从哪里扣
  • 某个项目投资多少钱怎么算
  • 进项税税额是多少
  • 企业如何进行年报
  • 必须会的sql语句有哪些
  • win10简单版
  • wp8.1怎么升级wp10
  • usbmonit.exe - usbmonit是什么进程
  • win10打开命令提示符窗口
  • centos配置httpd
  • windows任务管理器占用cpu过高
  • win10怎么设置net3.5
  • ds是什么文件
  • win7系统存储在哪
  • vs2008安装教程
  • java.基础
  • 在dos下删除文件
  • unity-x
  • jquery悬浮显示
  • jquery的哪个方法可以绑定mouseover
  • android studio怎么清除缓存
  • 江苏省国家税务局电话号码
  • 如何查询车辆购买的保险
  • 重庆地方税务局12366
  • 上海税务局电话多少号
  • 个人出租商铺个人所得税计算
  • 交通运输业的税率9%和13%
  • 怎么注册用户名短的淘宝账号
  • 河南省优秀班主任2022
  • 公司给个人买房,怎么做账
  • 常州金坛最新新闻
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设