关于异步渲染与$nextTick的关系

关于异步渲染与$nextTick的关系

$nextTick的相关代码,我也敲过,具体的结果我也看出来了,在$nextTIck中的结果是可以获取到所有的节点的,但是这个跟汇总修改,一次性更新试图有什么关系吗

异步渲染到底指的是什么呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕久久 2022-10-20 14:59:35

同学你好,解答如下:

1、当短时间内多次修改数据时,页面内容会跟着做多次渲染。页面渲染是非常耗性能的,为了节省性能,vue采取了异步渲染的方式。比如代码短时间内修改了三次数据:

https://img1.sycdn.imooc.com//climg/6350f09309a5184708080259.jpg

vue并不会如下这样做:

先做第一次修改数据,修改完,直接更新渲染页面;然后做第二次修改数据,修改完再第二次更新页面;再做第三次更改数据,然后做第三次页面渲染。

vue会按顺序将三次数据修改完,最后只做一次渲染页面;即数据修改次数与页面渲染次数并不同步,这就是异步渲染。

2、异步渲染是存在弊端的:我们没法直接拿到页面的最终渲染结果

https://img1.sycdn.imooc.com//climg/6350f1a6095f37d309580476.jpg

为了解决该弊端,就要用$nextTick方法,该方法可以帮助我们获取到最终的dom渲染结果。

祝学习愉快!

好帮手慕久久 2022-10-20 14:51:04

同学你好,解答如下:

1、异步渲染是vue处理视图更新的一种方式。当我们短时间内多次修改数据时,页面视图可能会多次渲染。渲染视图是非常浪费性能的,为了提高性能,vue底层就采取异步渲染的方式。比如视频中的例子,短时间修改了3次数据:

https://img1.sycdn.imooc.com//climg/6350ede409971b2c06390188.jpg

此时vue并不会如下这样操作:

先修改第一次数据,修改完就直接更新一下视图;然后再修改第二次数据,处理完再次更新视图;最后再第三次修改数据,再第三次更新视图。

vue会按次序做完三次数据修改,最后统一更新一次视图,即视图更新次数与数据修改次数并不同步,这就是异步渲染。

2、由于渲染是异步的,它存在弊端:我们没办法直接拿到最后一次渲染的结果。$nextTick方法是为了解决异步渲染带来的弊端的:如果想拿到异步渲染之后的结果,就需要借助$nextTick方法。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师