前端开发面试题总结-vue2框架篇(一)
文章目录
- 三、Vue2高频问答
- 1、说一说MVVM、MVC 和 MVP 模式的区别是什么?
- 2、你认为vue的核心是什么?
- 3、说说你对渐进式框架的理解?
- 4、什么是组件化?组件化的好处是什么?
- 5、什么是 Vue 指令? Vue 有哪些常用的指令?
- 6、为什么 Vue 2中组件的 data 属性是一个函数而不是一个对象?
- 7、Vue 计算属性的函数名和 data 中的属性可以同名吗? 为什么?
- 8、Vue 的 v-show 和 v-if 有什么区别? 使用场景分别是什么?
- 9、为什么不建议在 Vue 中同一个标签上同时使用 v-if 和 v-for?
- 10、在 Vue 的 v-for 循环中,key 有什么作用?
- 11、Vue中 computed 和 methods 的区别是什么?
- 12、说说你对 Vue 的理解? 相比于原生开发,使用 Vue 有哪些优点?
- 13、什么是Vue的生命周期,生命周期的作用是什么?
- 14、Vue的生命周期总共有哪几个阶段
- 15、请问通常在Vue的哪个生命周期钩子中请求异步数据?为什么?
三、Vue2高频问答
1、说一说MVVM、MVC 和 MVP 模式的区别是什么?
2、你认为vue的核心是什么?
●数据驱动,也就是数据的双向绑定,让视图(DOM)的内容随着数据的改变而改变
●组件化系统,可实现扩展HTML元素,封装可用的代码
3、说说你对渐进式框架的理解?
渐进式的含义:
vue这个框架, 主要包含核心包和全家桶, 因为vue是一个渐进式框架, 所以, 如果项目当前的功能只需要核心包就能完成, 那么则只需要引入核心包; 如果项目的业务功能需要路由, 全局状态管理, 我们再引入相应的插件并配置即可
比如以下两种场景,Vue 发挥了很大的优点:
● 场景一:公司刚开始一个项目,技术人员对Vue的掌握也不足够。那么我们就不能使用VUE了么?当然不是,如果你只是使用VUE做些基础操作,如:页面渲染、表单处理提交功能,那还是非常简单的,成熟技术人员上手也就一两天。完全可以用它去代替jquery。并不需要你去引入其他复杂特性功能。
● 场景二:我们的项目规模逐渐的变大了,我们可能会逐渐用到前端路由、状态集中管理、并最终实现一个高度工程化的前端项目。这些功能特性我们可以逐步引入,当然不用也可以。
4、什么是组件化?组件化的好处是什么?
1.是什么?
● 将一个页面,拆分成一个个小组件的过程,就是组件化。
● vue创建的项目就是单页面应用程序, 那么一个vue项目就是一个组件
● 每个组件包含自己单独的 结构+样式+逻辑
2. 在Vue中每一个.vue文件都可以视为一个组件
3. 组件化的优势:
● 便于维护, 由于每个组件的职责单一, 降低整个页面的耦合度
● 便于复用, 一个组件可以在多处被使用, 只需要传入不同的数据即可
●调试方便,由于整个项目是通过组件组合起来的,在出现问题的时候,可以用排除法直接移除组件,或者根据报错的组件快速定位问题,之所以能够快速定位,是因为每个组件之间低耦合,职责单一,所以逻辑会比写在整个页面总要简单
5、什么是 Vue 指令? Vue 有哪些常用的指令?
指令的作用?
对一个DOM功能的封装, 能够让开发者在模板中更好的去操作DOM和数据
6、为什么 Vue 2中组件的 data 属性是一个函数而不是一个对象?
7、Vue 计算属性的函数名和 data 中的属性可以同名吗? 为什么?
8、Vue 的 v-show 和 v-if 有什么区别? 使用场景分别是什么?
9、为什么不建议在 Vue 中同一个标签上同时使用 v-if 和 v-for?
10、在 Vue 的 v-for 循环中,key 有什么作用?
● 帮助 Vue 识别节点身份
Vue 在更新 DOM 元素时,会通过key属性来准确地判断哪些元素是新增的、哪些是被移除的,以及哪些只是发生了位置变化或者内容变化等情况, 可以根据key去进行局部的更新。
例如,当你有一个列表,列表中的元素可能会动态地增加、减少或者重新排序,key就相当于每个元素独一无二的 “身份证”,Vue 借助它可以快速追踪到每个元素的身份,进而高效地进行局部更新 DOM,而不是盲目地重新渲染整个列表。
11、Vue中 computed 和 methods 的区别是什么?
12、说说你对 Vue 的理解? 相比于原生开发,使用 Vue 有哪些优点?
13、什么是Vue的生命周期,生命周期的作用是什么?
14、Vue的生命周期总共有哪几个阶段
15、请问通常在Vue的哪个生命周期钩子中请求异步数据?为什么?