Vue 面试题
1.Vue 双向绑定原理
2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?
如果你觉得对你有帮助,可以戳这里获取:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
4.2 使用函数处理事件
和 js 基本一样,我们指定一个函数专门处理某个特定事件,然而这个事件也要专门定义在 vue 中的 methods 中,效果同上
<input type=“button” @click=“handle()” value=“点击2”/>
<input type=“button” @click=“handle” value=“点击3” />
4.3 事件函数传参
事件函数传参
-
如果事件直接绑定函数名称,默认传递事件对象($event)作为第一个参数
-
如果事件绑定函数调用,那么事件对象必须作为最后一个参数显示传递,并且事件对象的名称是必须是 $event
事件函数传参
<button @click=“say(‘hi’,$event)”>SayHi
4.4 事件修饰符
简要了解一下 事件冒泡 与 阻止冒泡就懂了
事件修饰符
===============================================================================
5.1 v-bind 使用
v-bind 的作用
动态处理属性的值,下面的实例中,我们给 href 绑定了一个 url 值,这样他就可以跳转到指定的路径了。
跳转
切换
跳转1
5.2 v-bind 就是 v-model ?
我们深入 v-model 的源码可以发现, v-model 之所以能够实现双向绑定是因为它的底层使用 属性绑定实现的。
v-model 底层原理: 使用输入域中最新的数据覆盖原来的数据
5.3 v-bind 绑定样式
样式绑定由两种形式
-
使用对象的形式
-
使用数组的形式
测试样式
切换
测试样式二
切换
=================================================================================
6.1 分支结构
6.1.1 使用 v-if
-
v-if
-
v-else
-
v-else-if
只会渲染一个 div
v-if 控制元素是否渲染到页面
在判断结构中加入表达式即可完成数据的筛选
优秀
良好
一般
太差了
结果肯定是打印最差的
6.1.2 使用 v-show
. v-show
控制元素是否显(已经渲染到页面上了)
会在 dom 中显示出来,display 的值被设置为了 none
使用场景:
频繁显示隐藏一个元素使用 v-show(因为频繁的操作 DOM 会造成极大的消耗
我们可以看到 dom 时存在的。
6.2 循环结构 v-for
使用 v-for 可以轻松遍历元素,下面看一看 v-for 的简单使用,我们可以遍历值的同时,把下表也能遍历出来
- {{item}} -- {{index}}
{{item.id}}
{{item.title}}
{{value + ‘—’ + key + ‘—’ + index}}
====================================================================
7.1 简易计算器
实现逻辑如下:
-
使用 v-model 指令实现数值 a 和数值 b 的绑定
-
给计算按钮绑定事件,实现计算逻辑
-
将计算结果响应到对应位置
数值A:
数值B:
计算
加法计算结果:计算
减法计算结果:计算
乘法计算结果:计算
除法计算结果:7.2 Tab 选项卡实现
核心是,找到对应的下标板块,显示指定的模块
-
- {{item.title}}
{{item.des}}