发布时间:2023-05-22 文章分类:WEB开发, 电脑百科 投稿人:赵颖 字号: 默认 | | 超大 打印

Vue精髓面试题

一.Vue学习精髓

二.Vue面试题汇总

【一般】Vue的最大优势是什么?

【高频】MVVM和MVC区别是什么?

【一般】Vue常用修饰符有哪些?

【一般】对Vue渐进式的理解

【一般】说出至少4个Vue指令及作用

【一般】为什么避免v-for和v-if在一起使用

【高频】v-show和v-if的区别

【几乎必问】Vue中key值作用

         【几乎必问】v-for指令使用key值几种情况

【高频】Vue中:key作用, 为什么不能用索引

【高频】Vue中有时候数组会更新页面,有时候不更新,这是为什么?

【高频】 方法和计算属性和侦听器区别

【一般】请说下封装 vue 组件的过程

【几乎必问】vue组件传值

【高频】Vue 组件 data 为什么必须是函数

【一般】讲一下组件的命名规范

【高频】scoped作用与原理

  ==【百分百必问】==vue生命周期总共分为几个阶段?

【高薪必问】Vue 的 nextTick 的原理是什么?

【高薪必问】v-slot插槽与作用域插槽

【高薪必问】 自定义指令的方法有哪些?它有哪些钩子函数?还有哪些钩子函数参数?(必 会)

【高薪必问】vue路由作用与原理

【高频】路由之间是怎么跳转的?有哪些方式?

【一般】vue-router怎么配置路由(路由配置六个流程)

【高频】vue-router的钩子函数都有哪些(导航守卫)

【高频】路由传值的方式有哪几种

【几乎必问】Vue的路由实现模式:hash模式和history模式

【几乎必问】请说出路由配置项常用的属性及作用

【高频】$route和$router的区别?

【高频】跟keep-alive有关的生命周期是哪些?

【高频】vuex作用及五大组成部分

【一般】vuex中action工作流程

【几乎必问】说一下你在vue中踩过的坑


一.Vue学习精髓

1.数据驱动 : vue会自动渲染data中的数据, data中的数据变化了,页面会自动变化。

2.vue指令本质 : html标签自定义属性

作用:给html标签拓展功能(给原生html标签加buff)

语法:vue指令 v-指令名="指令值"

HTML自定义属性规范: 属性名="属性值"

3.vue组件本质:html自定义标签

作用: 实现盒子复用

传统html标签:例如 <a>,<button> (只有html结构,没有 )

vue组件: 例如 <good></good>    (有html结构,有css样式,有js逻辑 )

4.vue路由本质 : 监听hash,替换容器盒子(版心)

5.学习vue路由,如何知道自己学的咋样?能分清下面几个单词,你的路由至少掌握了70%

二.Vue面试题汇总

【一般】Vue的最大优势是什么?

【高频】MVVM和MVC区别是什么?

MVC : 传统的设计模式。

【一般】Vue常用修饰符有哪些?

.prevent: 提交事件不再重载页面;

.stop: 阻止单击事件冒泡;

.once: 只执行一次这个事件

.enter:监听键盘enter键

【一般】对Vue渐进式的理解

【一般】说出至少4个Vue指令及作用

【一般】为什么避免v-for和v-if在一起使用

Vue 处理指令时,v-for 比 v-if 具有更高的优先级, 虽然用起来也没报错好使, 但是性能不高, 如果你有5个元素被v-for循环, v-if也会分别执行5次.

【高频】v-show和v-if的区别

[v-if与v-show区别逐字稿]    

       面试官你好,我是这么理解v-if和v-show的。 v-if本质其实是动态的创建 或者 删除元素节点。一般不用频繁切换, 要么显示, 要么隐藏的情况, 我都会用 v-if。因为v-if 是惰性的, 如果初始值为 false, 那么这些元素就直接不创建了, 这样就可以节省一些初始渲染开销。v-show本质是在控制元素的 css 样式,display: none;,一般元素需要频繁的切换显示隐藏, 用 v-show。因为v-if在频繁切换会大量的创建和删除元素, 消耗性能。

【几乎必问】Vue中key值作用

[vue中key值作用逐字稿]

       面试官你好,我是这么理解key值的,key值的主要作用是给元素添加一个唯一标识符,用于提高vue渲染性能,当data发生变化的时候,vue会使用diff算法来对比新旧虚拟DOM.如果key值相同,才会考虑复用元素.如果key值不同,则会强制更新元素.一般通过给元素key设置为id,来保证vue更新数据的时候可以最大限度复用相同的key值的元素.

【几乎必问】v-for指令使用key值几种情况

[v-for指令使用key值几种情况逐字稿]

    1. 没有key值(默认是下标) :   不复用,就地更新

    2. key值为下标(相当于没设置) :  不复用,就地更新

    3. key值是id   :  复用相同的key,更新不同的key

    总结 : key值优先设置id, 没有id就用下标

【高频】Vue中:key作用, 为什么不能用索引

[key值为什么不能是下标逐字稿]

       因为数组的元素发生变化的时候,其他的元素下标会受到影响.而如果把下标作为key值的,由于其他的元素下标变化,所有vue会认为你key值也变化了,就会强制更新你的元素,从而影响性能.

【高频】Vue中有时候数组会更新页面,有时候不更新,这是为什么?

这些方法会触发数组改变, v-for会监测到并更新页面

这些方法不会触发v-for更新

【高频】 方法和计算属性和侦听器区别

面试点 : 侦听器和计算属性区别
         (1)计算属性有缓存机制,侦听器没有
         (2)计算属性不支持异步操作, 侦听器支持异步操作
         (3)计算属性是一个额外新增的属性, 侦听器只能侦听data中的属性
         (4)计算属性有返回值return,侦听器不需要return
         (5)计算属性可以监听多个数据变化(计算属性内部用到的数据变化了,就会执行计算属性方法),
         侦听器只能侦听一个数据的变化。

[计算属性和侦听器区别逐字稿]

    1.功能不同:计算属性解决模板语法冗余,侦听器监听data中某一个数据变化

    2.计算属性有缓存,侦听器没有缓存

    3.计算属性不支持异步操作,侦听器支持异步操作

    4.计算属性可以新增一个属性,而侦听器一定要是data中的属性

【一般】请说下封装 vue 组件的过程

高逼格答案: 有复用的地方就有封装
(js如此,vue也是如此)

【几乎必问】vue组件传值

【高频】Vue 组件 data 为什么必须是函数

【一般】讲一下组件的命名规范

【高频】scoped作用与原理

==【百分百必问】==vue生命周期总共分为几个阶段?

四个钩子

【高薪必问】Vue 的 nextTick 的原理是什么?

【高薪必问】v-slot插槽与作用域插槽

【高薪必问】 自定义指令的方法有哪些?它有哪些钩子函数?还有哪些钩子函数参数?(必会)

【高薪必问】vue路由作用与原理

【高频】路由之间是怎么跳转的?有哪些方式?

【一般】vue-router怎么配置路由(路由配置六个流程)

【高频】vue-router的钩子函数都有哪些(导航守卫)

【高频】路由传值的方式有哪几种

2023Vue最常见精髓面试题及其答案汇总

【几乎必问】Vue的路由实现模式:hash模式和history模式

1.路径不同

hash有#, history没有#

2.工作模式不同

hash : 修改当前页面hash,不需要服务器额外配置

history: 会给服务器发送请求,需要服务器配置

【几乎必问】请说出路由配置项常用的属性及作用

路由配置参数:

【高频】$route和$router的区别?

【高频】跟keep-alive有关的生命周期是哪些?

【高频】vuex作用及五大组成部分

【一般】vuex中action工作流程

【几乎必问】说一下你在vue中踩过的坑