Vue3面试题系列
文章平均质量分 89
itpeilibo
不怕孤独,努力沉淀;
于淡泊中,平和自在。
展开
-
「Vue3面试系列」Vue 3.0中如果想实现一个 Modal组件应该怎么设计?
现在有一个场景,点击新增与编辑都弹框出来进行填写,功能上大同小异,可能只是标题内容或者是显示的主体内容稍微不同。组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式。这样,下次开发相同界面程序时就可以写更少的代码,意义着更高的开发效率,更少的。这时候就没必要写两个组件,只需要根据传入的参数不同,组件显示不同内容即可。内置组件进行包裹,其相当于传送门,将里面的内容传送至。主体内容需要灵活,所以可以是字符串,也可以是一段。组件内部是如何处理「确定」「取消」事件的,既然是。原创 2024-01-16 14:26:40 · 1228 阅读 · 2 评论 -
「Vue3面试系列」Vue 3.0中Treeshaking特性有哪些?
如果把代码打包比作制作蛋糕,传统的方式是把鸡蛋(带壳)全部丢进去搅拌,然后放入烤箱,最后把(没有用的)蛋壳全部挑选并剔除出去。实例在项目中是单例的,捆绑程序无法检测到该对象的哪些属性在代码中被使用到。模块的静态编译思想,在编译时就能确定模块的依赖关系,以及输入和输出的变量。是一种通过清除多余代码方式来优化项目打包体积的技术,专业术语叫。中,无论我们使用什么功能,它们最终都会出现在生产代码中。简单来讲,就是在保持代码运行结果不变的前提下,去除无用的代码。再一次打包,发现打包出来的体积并没有变化。原创 2024-01-11 16:08:22 · 620 阅读 · 2 评论 -
「Vue3面试系列」Vue3 所采用的 Composition Api 与 Vue2 使用的 Options Api 有什么不同?
在 Vue3 Composition API 中,组件根据逻辑功能来组织的,一个功能所定义的所有 API 会放在一起(更加的高内聚,低耦合)正是解决上述问题,将某个逻辑关注点相关的代码全都放在一个函数里,这样当需要修改一个功能时,就不再需要在文件中跳来跳去。在逻辑组织方面的优势,以后修改一个属性功能的时候,只需要跳到控制该属性的方法中即可。然而,当组件变得复杂,导致对应属性的列表也会增长,这可能会导致组件难以阅读和理解。即使项目很大,功能很多,我们都能快速的定位到这个功能所用到的所有 API。原创 2024-01-02 09:00:34 · 1624 阅读 · 5 评论 -
「Vue3面试系列」Vue3.0里为什么要用 Proxy API 替代 defineProperty API ?
只能遍历对象属性进行劫持return})Proxy直接可以劫持整个对象,并返回一个新对象,我们可以只操作新的对象达到响应式目的= null) {return obj// Proxy相当于在对象外层加拦截console.log(`获取${= null) {return obj } // Proxy相当于在对象外层加拦截 const observed = new Proxy(obj , {原创 2023-12-25 09:22:18 · 995 阅读 · 0 评论 -
「Vue3面试系列」Vue3.0性能提升主要是通过哪几方面体现的?
这样就免去了重复的创建节点,大型应用会受益于这个改动,免去了重复的创建操作,优化了运行时候的内存占用。可以看到,组件内部只有一个动态节点,剩余一堆都是静态节点,所以这里很多。中对不参与更新的元素,会做静态提升,只会被创建一次,在渲染时直接复用。等,仅仅在用到的时候才打包,没用到的模块都被摇掉,打包的整体体积变小。关于这两个 API 具体的不同,我们下篇文章会进行一个更加详细的介绍。整体体积变小了,除了移出一些不常用的API,再重要的是。实例,它会在组件渲染的过程中把用到的数据。在编译阶段,做了进一步优化。原创 2023-12-22 09:21:52 · 1066 阅读 · 2 评论 -
「Vue3面试系列」Vue3.0的设计目标是什么?做了哪些优化?
这样使得模块拆分更细化,职责划分更明确,模块之间的依赖关系也更加明确,开发人员也更容易阅读、理解和更改所有模块源码,提高代码的可维护性。试想一下,如果很多类似的第三方库,我们只需要调用即可,不必关注实现过程,开发效率大大提高。这种形式,可以将一些复用的代码抽离出来作为一个函数,只要的使用的地方直接进行调用即可。中去递归响应式,这样的好处是真正访问到的内部对象才会变成响应式,而不是无脑递归。,可以将无用模块“剪辑”,仅打包需要的,使打包的整体体积变小了。编写的,提供了更好的类型检查,能支持复杂的类型推导。原创 2023-12-18 16:35:45 · 985 阅读 · 8 评论