故心故心故心故心小故冲啊
文章目录
为何Vue采用异步渲染?
因为响应式数据都是组件化的,也就是说,每一次更新都是渲染整个组件,如果是同步渲染,只要数据中一个数据进行了修改,就会使得整个组件重新去渲染,如果同时修改了多个数据就会更新多次.这样子子是非常消耗性能的.
而采用异步渲染的话,只需要更新一次,异步渲染主要采用的是nextTick这个方法,来清空队列.
nextTick方法原理?
主要使用宏微任务来处理当前队列,首先会先判断当前环境是否支持promise,如果支持将采用promise.then来回调,如果不支持,将判断当前环境是否支持原型的方法MutationObserver,如果不支持将判断setImmediate支不支持当前环境,支持的话,将使用这个方法进行回调,最后都不支持的话,将采用setTimeout来进行回调.