vu来源gaodai#ma#com搞@代~码网e 2.4 和2.5 版本的@input事件不一样
在2.4之前的版本中,nextTick基本上基于microtask来实现的,但是在某些情况下microtask具有太高的优先级,并且可能在连续顺序事件(例如#4521,#6690)之间或者甚至在同一事件的事件冒泡过程中(#6566)之间触发。
但是如果全部都改成macrotask,对一些有重绘和动画的场景也会有性能影响,如 issue #6813。
这里提供的解决办法是默认使用microtask,但在需要时(例如在v-on附加的事件处理程序中)强制使用macrotask
所以2.4之前不会显示是因为之前使用microtask来实现的dom事件,它在当前tick的macro task执行完之后 patch 之前执行,所以我猜测是因为 micro task 高优先级的原因没等当前tick的变动 patch 渲染到真实dom上就已经更改了数据,因此当然不会渲染到真实DOM上了。
而2.5之后的nextTick使用macrotask,是肯定在下个tick之后执行的回调,所以在这个回调执行之前input进去的内容自然会被渲染到真实dom上,所以你看到的就是一闪而过了~
更多web前端开发知识,请查阅 搞代码网 !!
以上就是vue 2.4.2版本和2.5版本的区别是什么?的详细内容,更多请关注gaodaima搞代码网其它相关文章!