vue 2.4.2版本和2.5版本的区别是什么?

vue 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前端开发知识,请查阅 HTML中文网 !!

以上就是vue 2.4.2版本和2.5版本的区别是什么?的详细内容,更多请关注web前端其它相关文章!

赞(0) 打赏
未经允许不得转载:web前端首页 » Vue.js 答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏