位置: IT常识 - 正文

【前端vue2面试题】2023前端最新版vue2模块,高频24问(前端vue面试题)

编辑:rootadmin
【前端vue2面试题】2023前端最新版vue2模块,高频24问

推荐整理分享【前端vue2面试题】2023前端最新版vue2模块,高频24问(前端vue面试题),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:前端vue面试题2021及答案,前端面试题vue2021,vue前端常见面试题,前端面试题vuex,前端面试题vue2021,2021前端面试vue,2021前端面试vue,2020前端vue面试题,内容如对您有帮助,希望把文章链接给更多的朋友!

🥳博       主:初映CY的前说(前端领域)

🌞个人信条:想要变成得到,中间还有做到!

🤘本文核心:博主收集的关于vue2面试题

目录

 vue2面试题

1、$route 和 $router的区别

2、一个.vue文件由几部分组成,分别什么含义

3、scoped作用与原理

4、组件通信有哪些方式

5.为什么data属性是一个函数而不是一个对象

6、vue生命周期分为几个阶段,几个钩子函数,分别写出来

7、axios的请求方式

8、说出$nextTick的作用

9、如何实现组件缓存

10.MVVM与MVC的区别是什么

11.Vue常用修饰符有哪些

12.为什么避免v-for和v-if在一起使用

13.Vue中Key值作用

14.Vue中有时候数组会更新页面,有时候不更新为什么

15.计算属性与侦听器的区别

16.vue组件传值

17.vue中解决跨域做法

18.什么是虚拟 DOM

19.diff算法

20.slot用法

21.vue.use

22.自定义指令的用法

23.vue3对比vue2区别

         24.路由守卫作用/对比axios拦截器

 vue2面试题1、$route 和 $router的区别

 $router 是VueRouter的实例,在script标签中想要导航到不同的URL,使用  $router.push方法

 $route为router跳转对象,里面可以获取当前路由的name,path,query,parmas等。

2、一个.vue文件由几部分组成,分别什么含义

由三部分组成:

1.<template>所需要渲染的区域</template>

2.<script>存放引入的资源与业务实现的数据与操作</script>

3.<style>存放界面css的样式</style>

3、scoped作用与原理

作用:组件css作用域,避免子组件内部的css样式被父组件覆盖

默认情况下,如果子组件和父组件css选择器权重相同,优先加载父组件css样式

原理:给元素添加一个自定义属性 v-data-xxxxx, 通过属性选择题来提高css权重值

4、组件通信有哪些方式通过 props 传递通过 $emit 触发自定义事件使用 refEventBus $parent 或$root attrs 与 listenersProvide 与 InjectVuex5.为什么data属性是一个函数而不是一个对象

根本原因:每次调用产生一个新的地址空间防止数据被污染

我们对象是引用类型数据,处理的是内存当中的地址。当我们引用data多个组件会对data的地址值进行更改。当我们data是函数的话,则会每次引用的时候都会返回一个新的的地址确保我们的数据不会被更改。

6、vue生命周期分为几个阶段,几个钩子函数,分别写出来 初始化阶段:  beforeCreate、 created 挂载阶段 : beforeMount、mounted 更新阶段 : beforeUpdate、updated 销毁阶段:  beforeDestroy、destroyed

具体关于vue生命周期的详情可移步看:

【vue2】vue生命周期的理解_初映CY的前说-CSDN博客

7、axios的请求方式

实现asios的二次封装http://t.csdn.cn/uFNkn

get请求(常用于获取数据)post请求(常用于提交表单数据和上传文件)put请求(对数据进行全部更新)patch请求(修改部分数据)delete请求(常用于删除操作(参数可以放在url上也可以和post一样放在请求体中)8、说出$nextTick的作用

Vue 是异步修改 DOM 的并且不鼓励开发者直接接触 DOM,但有时候业务需要必须对数据更改--刷新后的 DOM 做相应的处理,这时候就可以使用 Vue.nextTick(callback)来帮助我们处理更新后的dom数据。

9、如何实现组件缓存

使用<keep-alive>标签,作用是创造一个缓存的空间,用于保存组件状态或者避免重新全部渲染。可以快速调用我们的缓存中的数据,从而达到提高访问速度。那常见的列表与购物车为例子,我们常常在这两个区域之间访问,每次点击不需要每次都重新渲染加载一次。

10.MVVM与MVC的区别是什么

MVC : 传统的设计模式。M:model模型,V:View视图,C:controller控制器

MVVM:我们vue所用的设计模式,数据双向绑定,让数据自动地双向同步不需要操作dom。

M: model数据模型 (data里定义)         V: view视图 (页面标签)VM: ViewModel视图模型 (vue.js源码)11.Vue常用修饰符有哪些

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

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

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

.enter:监听键盘enter键

12.为什么避免v-for和v-if在一起使用

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

13.Vue中Key值作用

key值的作用是给元素添加一个唯一的标识符,提高vue渲染性能。当数据变化的时候,vue就会使用diff算法对比新旧虚拟Dom。 如果遇到相同的key值,则复用元素。如果遇到不同的key值则强制更新。

14.Vue中有时候数组会更新页面,有时候不更新为什么

因为vue内部只能监测到数组顺序/位置的改变/数量的改变, 但是值被重新赋予监测不到变更, 可以用 Vue.set() / vm.$set()

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

【前端vue2面试题】2023前端最新版vue2模块,高频24问(前端vue面试题)

push()

pop()

shift()

unshift()

splice()

sort()

reverse()

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

slice()

filter()

concat()

15.计算属性与侦听器的区别

点击跳转两者详解:【vue2】计算属性(computed)与侦听器(watch)详解_

(1)计算属性有缓存机制,侦听器没有

(2)计算属性不支持异步操作, 侦听器支持异步操作

(3)计算属性是一个额外新增的属性, 侦听器只能侦听data中的属性

(4)计算属性有返回值return,侦听器不需要return

(5)计算属性可以监听多个数据变化(计算属性内部用到的数据变化了,就会执行计算属性方法), 侦听器只能侦听一个数据的变化。

16.vue组件传值

父传子

子组件props定义变量父组件在使用子组件时通过行内属性给props变量传值特点:单向数据流

子传父

子组件:$emit触发父的事件父在使用组件用@自定义事件名=父的方法 (子把值带出来)特点:事件监听

非父子组件:使用vuex

17.vue中解决跨域做法

使用CORS (Cross-Origin Resource Sharing,跨域资源共享)是一个系统,它由一系列传输的HTTP头组成,这些HTTP头决定浏览器是否阻止前端 JavaScript 代码获取跨域请求的响应。

所谓同源(即指在同一个域)具有以下三个相同点

协议相同(protocol)主机相同(host)端口相同(port)

反之非同源请求,也就是协议、端口、主机其中一项不相同的时候,这时候就会产生跨域。

点击可查看:跨域的解决办法 ---CORS方法、同源策列的理解

18.什么是虚拟 DOM

虚拟DOM给我们带来了跨平台的能力。实际上它是一层对真实BOM的抽象,以js对象(VNode节点)作为基础的树,用对象的属性来描述节点,相当于在 js 和真实 dom 中间加来一个缓存,利用 dom diff 算法避免没有必要的 dom 操作,从而提高性能。最后通过一系列操作使这棵树映射到真实环境上。

vue中一般通过state状态变化来进行编译,底层实现可以理解为三个步骤:

1.用js对象对象结构表述DOM树的结构,根据这个树构建一个真正的DOM树,插到浏览器页面中。

2.当我们状态改变之后,也就是state做出修改,vue便会重新构造一棵树的对象树,并且会进行同层对比,记录两棵树之间的差异。

3.把记录的差异再重新应用到所构建的真正的 dom 树,视图就更新了。

它的表达方式就是把每一个标签都转为一个对象,这个对象可以有三个属性:tag(标签)、props、children。

19.diff算法

Diff 算法是一种对比算法。对比两者是 旧虚拟 DOM 和新虚拟 DOM,对比出是哪个 虚拟节点更改了,找出这个 虚拟节点并只更新这个虚拟节点所对应的 真实节点而不用更新其他数据没发生改变的节点,实现 精准地更新真实 DOM,进而 提高效率

在新老虚拟 DOM 对比时:

首先,对比节点本身,判断是否为同一节点,如果不为相同节点,则删除该节点重新创建节点进行替换如果为相同节点,进行 patchVnode,判断如何对该节点的子节点进行处理,先判断一方有子节点一方没有子节点的情况(如果新的 children 没有子节点,将旧的子节点移除)比较如果都有子节点,则进行 updateChildren,判断如何对这些新老节点的子节点进行操作(diff 核心)。匹配时,找到相同的子节点,递归比较子节点20.slot用法

slot 是插槽,一般在组件内部使用

在封装组件时,在组件内部不确定该位置是以何种形式的元素展示时,,我们可以通过 slot 占据这个位置,该位置的元素需要其他组件以内容形式传递过来.

slot 又分为:默认插槽,具名插槽,作用域插槽(前两者父传子,后者是子传父)

21.vue.use

【是什么】:Vue.use 是用来注册 Vue 插件的一个函数。

【怎么用】:可以传递是一个对象,必须提供 install 方法。也可以传递一个函数,它会被作为 install 方法,install 方法调用时,会将 Vue 作为参数传入。

【注意点】:该方法需要在 new Vue() 之前被调用;当 install 方法被同一个插件多次调用,插件将只会被安装一次。

【场景】:通常用来为 Vue 添加全局功能,例如添加全局方法或 property、添加全局指令、注入组件选项、添加实例方法等。

22.自定义指令的用法

【作用是什么】:可以对普通 DOM 进行底层操作,例如聚焦输入框。

【怎么用】:可以通过 Vue.directive 全局注册一个指令,或者组件内部通过 directives 进行局部注册,它常用的钩子有 inserted,表示被绑定元素插入父节点时调用,还有 update,它表示指令所在组件的 VNode 更新时调用。

【场景】:我在实际项目中,当用户没长传图片时,可以给图片设置一个默认的src属性等。

 自定义指令封装:http://t.csdn.cn/9l4nu

23.vue3对比vue2区别

性能更高了,主要得益于响应式的原理换成了 proxy,VNode diff 的算法进行了优化。

体积更小了,删除了一些没必要或不常用到的 API,例如 filter、EventBus 等;按需导入,能配合 Webpack 支持 Tree Shaking。

对 TS 支持更好,因为它本身源码就是用 TS 重写的。

Composition API(组合 API),相比较 Vue2 的 options api,对于开发大型项目更利于代码的复用和维护。

新特性,例如 Fragment、Teleport、Suspense 等。

24.路由守卫作用/对比axios拦截器

关于路由守卫的细说:http://t.csdn.cn/z5iK6

刚开始接触路由导航守卫你会发现和axios拦截器有点像,实际上它们是两个不同的东西。

1.相同点

(1)都是钩子函数(回调函数的一种,到某个时机了自动触发)

(2)都是起到拦截作用

2.不同点

(1)功能不同 :axios拦截器拦截网络请求, 导航守卫拦截路由跳转

(2)应用场景不同 :

axios拦截器一般用于发送token

导航守卫用于页面跳转权限管理(有的页面可以无条件跳转,例如登录注册页可以无条件跳转。有的页面需要满足条件才能跳转,例如购物车页面就需要用户登录才可以跳转)  

本文链接地址:https://www.jiuchutong.com/zhishi/299748.html 转载请保留说明!

上一篇:【kubernetes】k8s集群搭建(完整详解)(k8s kubelet)

下一篇:刚刚,微软推出支持chatGPT的必应(微软回应)

  • 成都武侯区小规模代理记账需要注意哪些(成都市武侯区处理机动车违章罚款的地方)

    成都武侯区小规模代理记账需要注意哪些(成都市武侯区处理机动车违章罚款的地方)

  • qq音乐怎么搜索用户(qq音乐怎么搜索主播)

    qq音乐怎么搜索用户(qq音乐怎么搜索主播)

  • 建行生活外卖券怎么用(建行生活外卖券 取消订单)

    建行生活外卖券怎么用(建行生活外卖券 取消订单)

  • opporeno7充电器多少w(oppoReno7充电器多少钱)

    opporeno7充电器多少w(oppoReno7充电器多少钱)

  • 0xc0000142无法正常启动是什么(0xc000142无法正常启动)

    0xc0000142无法正常启动是什么(0xc000142无法正常启动)

  • 支付宝如何移到新手机(支付宝如何移到另一个手机上)

    支付宝如何移到新手机(支付宝如何移到另一个手机上)

  • 小米10搜不到蓝牙耳机(小米10搜不到蓝牙耳机设备)

    小米10搜不到蓝牙耳机(小米10搜不到蓝牙耳机设备)

  • 闲鱼卖出的东西不想让别人看到可以吗(闲鱼卖出的东西动态怎么删除)

    闲鱼卖出的东西不想让别人看到可以吗(闲鱼卖出的东西动态怎么删除)

  • win7为什么打开wegame就死机(win7为什么打开我的电脑一直在加载)

    win7为什么打开wegame就死机(win7为什么打开我的电脑一直在加载)

  • 国网电力实名认证可以改吗(国网电力实名认证)

    国网电力实名认证可以改吗(国网电力实名认证)

  • word怎么设置a4版面(word设置a4纸大小格式)

    word怎么设置a4版面(word设置a4纸大小格式)

  • 华为p40天气怎么显示在桌面上(华为p40自带的天气)

    华为p40天气怎么显示在桌面上(华为p40自带的天气)

  • 除了windows还有什么系统(除了win10还有什么别的系统)

    除了windows还有什么系统(除了win10还有什么别的系统)

  • 手机售后检测会拆机吗?(手机售后检测会查手机吗)

    手机售后检测会拆机吗?(手机售后检测会查手机吗)

  • 国产屏幕和原装区别(国产屏幕和原装屏幕有什么区别苹果)

    国产屏幕和原装区别(国产屏幕和原装屏幕有什么区别苹果)

  • 打电话说的话能查到吗(打电话说的话能听到吗)

    打电话说的话能查到吗(打电话说的话能听到吗)

  • qq空间举报多久恢复(qq空间举报人成功了那个人会知道吗)

    qq空间举报多久恢复(qq空间举报人成功了那个人会知道吗)

  • 手机角落蓝屏慢慢变大(手机蓝屏越来越多怎么办?)

    手机角落蓝屏慢慢变大(手机蓝屏越来越多怎么办?)

  • 单元格设置的基本用途(单元格设置的基本功能)

    单元格设置的基本用途(单元格设置的基本功能)

  • 爱奇艺ipad不能横屏(爱奇艺ipad不能一起看视频吗)

    爱奇艺ipad不能横屏(爱奇艺ipad不能一起看视频吗)

  • 支付宝盒l2红灯闪烁(支付宝盒l2红灯闪烁什么原因)

    支付宝盒l2红灯闪烁(支付宝盒l2红灯闪烁什么原因)

  • soul怎么知道对方卸载(soul怎么知道对方隐身)

    soul怎么知道对方卸载(soul怎么知道对方隐身)

  • 运算器和什么的集合cpu(运算器和什么的集合体称为cpu)

    运算器和什么的集合cpu(运算器和什么的集合体称为cpu)

  • 充多多要多少芝麻信用(充多多额度能提现吗)

    充多多要多少芝麻信用(充多多额度能提现吗)

  • vue贴纸 文字如何修改(vue 粘贴)

    vue贴纸 文字如何修改(vue 粘贴)

  • 苹果通讯录黑名单在哪(苹果通讯录黑名单短信也收不到吗)

    苹果通讯录黑名单在哪(苹果通讯录黑名单短信也收不到吗)

  • 西瓜视频如何发送视频(西瓜视频如何发视频赚钱)

    西瓜视频如何发送视频(西瓜视频如何发视频赚钱)

  • 梨视频如何下载文件(梨视频缓存完的视频怎么导出)

    梨视频如何下载文件(梨视频缓存完的视频怎么导出)

  • uniapp前端实现热更新(uniapp前端 django后端)

    uniapp前端实现热更新(uniapp前端 django后端)

  • 人力资源外包可以选择简易计税吗
  • 所得税退税会计账务怎么处理
  • 普通发票的金额包含增值税吗
  • 一般纳税人什么条件
  • 公司没有收入怎么报销
  • 投资收益免征企业所得税
  • 零星采购不要发票可以吗
  • 超过认证期限的发票未抵扣能红冲吗
  • 进出口代理公司哪家好
  • 公司投资的股权财产怎么认定
  • 医疗器械行业进销存软件
  • 收到国外的服务费怎么开票
  • 公司前期没有收入开支怎么记账
  • 政府扶持资金是什么意思
  • 企业所得税汇算清缴网上申报流程
  • 该纳税人不属于经备案的二手车企业
  • 增值税普通发票和专用发票有什么区别
  • 增值税的专用发票金额含税吗
  • 企业所得税补充申报怎么报
  • 小规模纳税人代账多少钱一个月
  • 水利基金减免政策2019 未超过10万
  • 公司双方签订协议书范本
  • 计提专项借款本月利息会计分录
  • 原料采购入库检测损耗的会计处理怎么做?
  • 过期未抵扣的发票对企业有什么影响
  • 固定资产入账包括税额吗
  • 出售原材料属于营业收入吗
  • 缴纳房产税怎么办理登记手续
  • 季度预缴所得税可以弥补以前亏损吗
  • mac如何改变用户名
  • efi系统分区能删除吗win10
  • 认缴出资怎么记账
  • deepin怎么使用
  • linux系统情况
  • tim模块
  • 其它应收款的内容
  • codecline
  • 权益的定义特征
  • php 替换
  • 2021年前端还火吗
  • 上年科目记错如何更正
  • 公司购买黄金送客户可以取得进项抵税吗
  • 劳务是什么单位
  • 经审计的财务报表是否要会计师事务所盖章
  • 为什么收款金额跟实时入帐金额会不一样农村信用社
  • 增值税发票红冲的相关规定
  • 金税四期介绍 王军
  • 检查记账凭证的内容包括
  • 公司班车费用如何入账
  • 营业外收入月末怎么处理
  • 产品出口认证
  • 支付给个人的佣金如何代扣个税
  • 销售合同的印花税由谁交
  • 个体工商户和小规模纳税人的区别
  • 小规模纳税人抵扣税控盘增值税怎么申报
  • mysql could not be resolved: Name or service not known
  • sql触发器语句
  • win7 64位系统如何查看计算机名称为了应付某一操作
  • win8开机提示激活
  • Red Hat Enterprise Linux 4+Nginx 0.7.47+PHP5.2+MYSQL5.0+Memcache+eAccelerator收
  • win7系统开机出现英文字母
  • 程序中map是什么意思
  • linux的命令行界面
  • windows8.1怎么设置密码
  • windows图标变化
  • linux跨服务器调用shell脚本
  • jquery操作html代码
  • js倒计时结束操作
  • unity固定位置随机生成物体
  • js查看浏览器信息
  • messenger api
  • vue插件使用
  • jquery写网页
  • 开发 工具
  • js实现vue
  • 中国税务主旨是什么?
  • 陕西国税电子税务局app
  • 朝阳区地方税务局官网
  • 公司出租非住宅税种
  • 专票代开流程?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设