难度级别:中级及以上 提问概率:85%
Vue2终将面临停止维护,不过幸好Vue3做到了很好的向后兼容,可以使前端开发人员能够更平滑的过渡。在前端面试中,Vue3的相关知识也会越来越多,那么Vue3与Vue2相比,都做到了哪些改进呢?
从开发阶段讲,Vue3做到了更好的TypeScript支持。我们知道,在开发过程中,变量的类型限制、隐式转换、变量跟踪这些问题都会引发一些错误,从而加大问题排查难度,Vue3通过更好的TypeScript支持,能够让开发人员在开发阶段尽早的发现潜在问题,有效提升开发效率。
在Vue2中,每个组件只能有一个根元素,其他元素必须嵌套在这个根元素内,而Vue3改进了这一点,可以使一个组件内有多个根元素,这样在很大程度上减少了标签层级,使模板结构更加清晰。
Vue3的Teleport是一个非常好的传送功能,例如某个层级很深的子组件,在Vue2中是很难将一些元素渲染到外层组件的,但Teleport改进了这一缺陷,必要时,它甚至可以将元素传送到body标签下进行渲染,这在创建全局提示模态框的场景中非常方便;
从上手角度来说,Vue3提供了更加简化的API,对于熟练使用Vue2的前端开发人员来说,虽然会有一些地方写法不同,但稍加练习就可以快速掌握;
从性能角度来说,Vue3移除了类似$on、$dispatch等不常用的方法,使包体积相较于Vue2大大减小;与此同时,Vue3在渲染API上做了改进,使代码运行更加高效。
总的来说,Vue3在上手、开发、包体积以及性能上都做了非常大的改进,使我们在开发体验上得到很显著提升。
刷题思考
现在Vue已经成为前端开发必用的框架之一,而且它更符合国人的开发思想,Vue2即将停止更新,这也就导致Vue3成为前端开发面试中不可或缺的一部分考点。所以求职者想要把这道题答好,回答出本小节中的知识点只是最基本的要求,一定要利用自己的项目经验,将本小节中的知识点最大限度的扩充起来,这样才能使自己的答案更加丰满而有说服力。
类似考点
这道题虽然是在笼统的问Vue3与Vue2的区别,但要注意,面试官很可能不这么问,而是通过以下这些问题做为考点进行发问,例如请说一说,你在Vue3项目中是如何使用TypeScript的?例如你在哪些场景中使用过Vue3的Teleport功能?例如Vue3都移除了哪些Vue2的API?