题目如题,今天面试被问到的一个问题,找了半天度娘也没解决。有没有哪位知道的?
6条回答 默认 最新
关注 这样去说
nextTick:是一个回调函数,可以理解成 当响应式数据变更完成之后 -> 渲染完成dom之后,执行的一个回调函数(可以简单去理解一下 js的 eventLoop 事件循环机制,有一定的关联) 但是你在父组件使用的nextTick只相对于你当前的层级,你不能去控制一个异步渲染的子组件层级,他不一定会比你的异步渲染更晚执行,根据nextTick源码来看,一共是用了4种方式做了延迟操作(Promise、MutationObserver、setImmediate、setTimeout) 主要的就是用来做一个延迟操作的 用于抓取一个更新时机 最简单的 Promise、setTimeout 一个是微任务一个是宏任务,用于同异步机制实现一个延迟效果,另外两种就是dom更新钩子。
watch:有兴趣可以从b站看一下源码2.+版本用的就是Object.defineproperty()做的监听操作,而 watch 你可以简单的理解为这个监听函数的回调,我可以在这个 Object.defineproperty 监听的对象被监听的时候 做一些操作。
本质上来说两者差别还是很大的
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 有关类的报错,在模块里调用另一个模块的方法下的变量时出错
- ¥15 delphi7 HMAC_SHA256方式加密
- ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
- ¥15 下列c语言代码为何输出了多余的空格
- ¥15 kali linux用wget archive.kali.org/archive-key.asc指令下载签名无效(失败)
- ¥15 openHarmony 利用c++程序在dayu210开发板上实现拉取RTSP视频流并且在屏幕上显示
- ¥15 GD32H757的can通信配置
- ¥20 nist随机数测试的问题
- ¥20 帮我解决这个项目,thank you各位程序员
- ¥15 哪位能用ea软件做一下,有偿