【建议收藏】2024大厂Vue面试题汇总,持续更新中~,京东java面试题技术面

本文详细解析Vue组件间的通信方式,包括Event Bus和Vuex,以及跨级组件通信的策略。此外,讨论了Vue事件绑定的原理,解释了Vue的优点和与Angular、React的差异。还涵盖Vue的计算属性、单页面应用的优缺点、Vue Router的嵌套路由、PWA特点、Vue的slot机制、模板渲染原理和Vue 2到3的演进。同时,文章分享了作者的前端开发经验和前端面试题库资源。
摘要由CSDN通过智能技术生成

兄弟组件通信

Event Bus:每一个Vue实例都是一个Event Bus,都支持 o n / on/ on/emit,可以为兄弟组件的实例之间new一个Vue实例,作为Event Bus进行通信。

Vuex:将状态和方法提取到Vuex,完成共享

跨级组件通信

使用provide/inject

Event Bus:同兄弟组件Event Bus通信

Vuex:将状态和方法提取到Vuex,完成共享

9.Vue事件绑定原理说一下


每一个Vue实例都是一个Event Bus,当子组件被创建的时候,父组件将事件传递给子组件,子组件初始化的时候是有 o n 方 法 将 事 件 注 册 到 内 部 , 在 需 要 的 时 候 使 用 on方法将事件注册到内部,在需要的时候使用 on方法将事件注册到内部,在需要的时候使用emit触发函数,而对于原生native事件,使用addEventListener绑定到真实的DOM元素上。

10.vue的优点是什么?


低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。

可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。

独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计。

可测试。界面素来是比较难于测试的,而现在测试可以针对ViewModel来写

11.Vue与Angular以及React的区别?


1.与AngularJS的区别

相同点:

都支持指令:内置指令和自定义指令。

都支持过滤器:内置过滤器和自定义过滤器。

都支持双向数据绑定。

都不支持低端浏览器。

不同点:

1.AngularJS的学习成本高,比如增加了Dependency Injection特性,而Vue.js本身提供的API都比较简单、直观。

2.在性能上,AngularJS依赖对数据做脏检查,所以Watcher越多越慢。

Vue.js使用基于依赖追踪的观察并且使用异步队列更新。所有的数据都是独立触发的。 对于庞大的应用来说,这个优化差异还是比较明显的。

2.与React的区别

相同点:

1.React采用特殊的JSX语法,Vue.js在组件开发中也推崇编写.vue特殊文件格式,对文件内容都有一些约定,两者都需要编译后使用。

2.中心思想相同:一切都是组件,组件实例之间可以嵌套。

3.都提供合理的钩子函数,可以让开发者定制化地去处理需求。

4.都不内置AJAX,Route等功能到核心包,而是以插件的方式加载。 5.在组件开发中都支持mixins的特性。

不同点:

React依赖Virtual DOM,而Vue.js使用的是DOM模板。React采用的Virtual DOM会对渲染出来的结果做脏检查。

Vue.js在模板中提供了指令,过滤器等,可以非常方便,快捷地操作DOM。

12.什么是vue的计算属性?


在模板中放入太多的逻辑会让模板过重且难以维护,在需要对数据进行复杂处理,且可能多次使用的情况下,尽量采取计算属性的方式。好处:①使得数据处理结构清晰;②依赖于数据,数据更新,处理结果自动更新;③计算属性内部this指向vm实例;④在template调用时,直接写计算属性名即可;⑤常用的是getter方法,获取数据,也可以使用set方法改变数据;⑥相较于methods,不管依赖的数据变不变,methods都会重新计算,但是依赖数据不变的时候computed从缓存中获取,不会重新计算。

13.vue等单页面应用(spa)及其优缺点


优点: Vue的目标是通过尽可能简单的 API实现响应的数据绑定和组合的视图组件,核心是一个响应的数据绑定系统。MVVM、数据驱动、组件化、轻量、简洁、高效、快速、模块友好;即第一次就将所有的东西都加载完成,因此,不会导致页面卡顿。

缺点: 不支持低版本的浏览器,最低只支持到IE9;不利于SEO的优化(如果要支持SEO,建议通过服务端来进行渲染组件);第一次加载首页耗时相对长一些;不可以使用浏览器的导航按钮需要自行实现前进、后退。

14.active-class是哪个组件的属性?嵌套路由怎么定义?


vue-router模块的rou

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值