前端面试题目总结(Vue)(下)

简介: 前端面试题目总结(Vue)(下)

20、vue-router有几种导航钩子


有3种

第一种是全局导航钩子,router.BeforeEach(to,from,next)

第二种是组件内部导航钩子,beforeRouterEnter,beforeRouterUpdate,beforeRouterLeave。

第三种是单独路由独享组件:beforeEnter(to,from,nex)


21、怎么定义vue-router的动态路由?怎么获取传过来的值


定义动态路由有2种,一种是params,一种是query


第一种params,通过/router/:参数名,传参,用$route.params.参数名,来获取传过来的值。


第二种是query,通过/route?参数名=123,传参,用$route.query.参数名,来获取传过来的值。


23、$router$route的区别


  • $routerj是路由的实例方法,可以认为是全局的路由对象,包含所有路由的对象和属性。
  • $route是一个跳转的路由对象,可以认为是当前组件的路由管理,指当前被激活的路由对象,包含当前URL解析得到的数据,可以获取name,path。


24、Vue3.0特性


  • 使用了Proxy替换Object.defineProperty,重构响应式系统
  • 优点:
  • 1、可以直接监听数组类型的数据变化
  • 2、监听目标为对象本身,不需要像Object.defineProperty一样遍历每个属性,有一定的性能提升。
  • 3、直接实现对象属性的添加、删除。


25、vue中的data发生变化,视图不更新如何解决?


  • 1、用this.$set()方法重置属性
  • 2、调用this.$foreUpdate()强制更新视图


26、vue指令


  • v-if/show:判断是否显示隐藏
  • v-for:数据循环
  • v-bind:绑定属性
  • v-on:绑定方法


27、如何获取DOM


  • 获取dom节点可以用ref属性,这个属性就是来获取dom对象的,this.$refs.属性名


28、虚拟DOM的优缺点


1、虚拟DOM就是JS对象,作用就是记录新树和旧树的差异,最后把差异更新到真实DOM中。


优点:虚拟DOM具有批处理和高效的Diff算法,最终表现在DOM上的修改只是变更的部分,可以保证高效地渲染数据,优化性能。


缺点:第一次渲染大量的DOM,由于加了一层虚拟DOM,所以会比innerHTML慢点。


29、Diff算法


Diff 算法的作用就是对虚拟 dom 进行对比,并返回一个 patch 对象,这个对象的作用是存储两个节点不同的地方,最后用 patch里记录的信息去局部更新真实的 dom。

Diff算法的两个特点:


1、只会同级比较,不跨层级

2、Diff比较循环两边往中间收拢


30、Vue全家桶


Vue全家桶就是项目中所必备的各种插件和框架。

1、vue-cli:脚手架,vue.js开发的标准工具。

2、vue-router:路由管理器,实现单页面应用。

3、vuex:全局管理状态,集中存储所有组件的状态。

4、axios:基于promise的HTTP库,可以用在浏览器和node.js中


31、vue修饰符


  • 1、.stop:阻止事件继续传播
  • 2、.prevent:阻止标签默认行为
  • 3、.self:只有在event.target是当前元素自身时触发处理函数
  • 4、.once:事件只能发生一次
  • 5、.passive:告诉浏览器你不想阻止事件的默认行为


32、vue2与vue3的区别


一、vue2数据双向绑定核心是通过Obejct.definepropety()对数据进行劫持结合发布-订阅模式的方式来实现的。而vue3是使用了 ES6中 的Proxy对数据进行代理。

好处:


1、defineProperty只能监听某个属性,不能对全对象监听,Proxy直接绑定整个对象即可。


2、Proxy可以监听数组,不用再去单独的对数组做特异性操作,可以检测到数组内部数据的变化


33、渐进式


  • 用自己想用或者能用的功能特性,不想用的部分功能可以先不用。VUE不强求你一次性接受并使用它的全部功能特性。


34、ajax


Ajax,它是浏览器提供的一种方法,实现页面无刷新就可以更新数据,提高用户浏览器应用的体验。


应用场景:1、页面上拉加载更多的数据。2、列表数据无刷新分页。3、表单项离开焦点数据验证。4、搜索框提示文字下拉列表。


Ajax原理:Ajax相当于浏览器发送请求与接收响应的代理人,以实现在不影响浏览器页面的情况下,局部更新页面数据,从而提高用户体验。

Ajax的实现步骤:


1、创建Ajax对象:var xhr=new XMLHttpRequest();

2、告诉Ajax请求地址以及请求方式:xhr.open('get','http://www.baidu.com');

3、发送请求:xhr.send();

4、获取服务器端给客户端的响应数据:xhr.onload=function(){console.log(xhr.responseText);}


35、axios


axios是基于promise的http库,可运行在浏览器端和node.js中,简单来说就是ajax的封装。


它的作用就是在保证页面不刷新的时候,向服务器发出请求,提高用户浏览器应用的体验。


使用步骤:


1、安装axios:npm install axios

2、在App.vue中引入axios:import axios from ‘axios’

3、修改为 Vue 的原型属性,Vue.prototype.$axios = axios


36、ajax与axios的区别


Ajax是对原生XHR的封装,是异步的javascript和xml,ajax不是一门新技术,而是多种技术的组合,用于快速的创建动态页面,能够实现无刷新更新数据从而提高用户体验。

Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中;是请求资源的模块;通过promise对ajax的封装。


axios和ajax的区别:


axios是通过Promise实现对ajax技术的一种封装,就像jquery对ajax的封装一样。

简单来说就是ajax技术实现了局部数据的刷新,axios实现了对ajax的封装,

axios有的ajax都有,ajax有的axios不一定有。


总结一句话就是axios是ajax,ajax不止axios。


37、vue的挂载过程


1、Vue在初始化的时候调用会调用_init方法,来定义事件和生命周期函数

2、调用$mount对页面进行挂载,主要通过mountComponent方法

3、定义updateComponent更新函数,执行render生成虚拟DOM

4、最后_update将虚拟DOM生成真实DOM结构,并且渲染到页面中


38、webpack


Webpack 是一个前端资源加载/打包工具。


它的作用是将多种静态资源 js、css、less 转换成一个静态文件,减少了页面的请求。

webpack打包原理:将所有依赖打包成一个bundle.js,通过代码分割成单元片段按需加载。


webpack的基本打包配置:


1、初始化:yarn init -y


2、安装依赖包:yarn add webpack webpack-cli -D


3、到package.json文件中配置scripts: "scripts": { "build":"webpack --config webpack.config.js"}


4、配置webpack.config.js文件:module.exports={entry(入口),output(出口),mode(模式)}


5、打包:yarm build

vue打包的话,可以利用vue-cli脚手架自动生成webpack配置,然后npm run build打包即可

相关文章
|
5月前
|
Web App开发 缓存 前端开发
浏览器常见面试题目及详细答案解析
本文围绕浏览器常见面试题及答案展开,深入解析浏览器组成、内核、渲染机制与缓存等核心知识点。内容涵盖浏览器的主要组成部分(如用户界面、呈现引擎、JavaScript解释器等)、主流浏览器内核及其特点、从输入URL到页面呈现的全过程,以及CSS加载对渲染的影响等。结合实际应用场景,帮助读者全面掌握浏览器工作原理,为前端开发和面试提供扎实的知识储备。
247 4
|
6月前
|
JavaScript 前端开发 Java
制造业ERP源码,工厂ERP管理系统,前端框架:Vue,后端框架:SpringBoot
这是一套基于SpringBoot+Vue技术栈开发的ERP企业管理系统,采用Java语言与vscode工具。系统涵盖采购/销售、出入库、生产、品质管理等功能,整合客户与供应商数据,支持在线协同和业务全流程管控。同时提供主数据管理、权限控制、工作流审批、报表自定义及打印、在线报表开发和自定义表单功能,助力企业实现高效自动化管理,并通过UniAPP实现移动端支持,满足多场景应用需求。
630 1
|
7月前
|
移动开发 前端开发 JavaScript
Vue与React两大前端框架的主要差异点
以上就是Vue和React的主要差异点,希望对你有所帮助。在选择使用哪一个框架时,需要根据项目的具体需求和团队的技术栈来决定。
459 83
|
5月前
|
缓存 NoSQL Java
Java Redis 面试题集锦 常见高频面试题目及解析
本文总结了Redis在Java中的核心面试题,包括数据类型操作、单线程高性能原理、键过期策略及分布式锁实现等关键内容。通过Jedis代码示例展示了String、List等数据类型的操作方法,讲解了惰性删除和定期删除相结合的过期策略,并提供了Spring Boot配置Redis过期时间的方案。文章还探讨了缓存穿透、雪崩等问题解决方案,以及基于Redis的分布式锁实现,帮助开发者全面掌握Redis在Java应用中的实践要点。
318 6
|
6月前
|
JavaScript 前端开发 编译器
Vue与TypeScript:如何实现更强大的前端开发
Vue.js 以其简洁的语法和灵活的架构在前端开发中广受欢迎,而 TypeScript 作为一种静态类型语言,为 JavaScript 提供了强大的类型系统和编译时检查。将 Vue.js 与 TypeScript 结合使用,不仅可以提升代码的可维护性和可扩展性,还能减少运行时错误,提高开发效率。本文将介绍如何在 Vue.js 项目中使用 TypeScript,并通过一些代码示例展示其强大功能。
283 22
|
5月前
|
算法 Java 关系型数据库
校招 Java 面试基础题目解析及学习指南含新技术实操要点
本指南聚焦校招Java面试,涵盖Java 8+新特性、多线程与并发、集合与泛型改进及实操项目。内容包括Lambda表达式、Stream API、Optional类、CompletableFuture异步编程、ReentrantLock与Condition、局部变量类型推断(var)、文本块、模块化系统等。通过在线书店系统项目,实践Java核心技术,如书籍管理、用户管理和订单管理,结合Lambda、Stream、CompletableFuture等特性。附带资源链接,助你掌握最新技术,应对面试挑战。
142 2
|
5月前
|
安全 Java 编译器
Java 校招面试题目合集及答案 120 道详解
这份资料汇总了120道Java校招面试题目及其详细答案,涵盖Java基础、JVM原理、多线程、数据类型、方法重载与覆盖等多个核心知识点。通过实例代码解析,帮助求职者深入理解Java编程精髓,为校招面试做好充分准备。无论是初学者还是进阶开发者,都能从中受益,提升技术实力和面试成功率。附带的资源链接提供了更多学习材料,助力高效备考。
276 3
|
5月前
|
存储 算法 Java
校招 java 面试基础题目及解析
本文围绕Java校招面试基础题目展开,涵盖平台无关性、面向对象特性(封装、继承、多态)、数据类型、关键字(static、final)、方法相关(重载与覆盖)、流程控制语句、数组与集合、异常处理等核心知识点。通过概念阐述和代码示例,帮助求职者深入理解并掌握Java基础知识,为校招面试做好充分准备。文末还提供了专项练习建议及资源链接,助力提升实战能力。
150 0
|
8月前
|
人工智能 JavaScript 前端开发
Vue 性能革命:揭秘前端优化的终极技巧;Vue优化技巧,解决Vue项目卡顿问题
Vue在处理少量数据和有限dom的情况下技术已经非常成熟了,但现在随着AI时代的到来,海量数据场景会越来越多,Vue优化技巧也是必备技能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 前端开发 搜索推荐
Vue的数据驱动视图与其他前端框架的数据驱动方式有何不同?
总的来说,Vue 的数据驱动视图在诸多方面展现出独特的优势,其与其他前端框架的数据驱动方式的不同之处主要体现在绑定方式、性能表现、触发机制、组件化结合、灵活性、语法表达以及与后端数据交互等方面。这些差异使得 Vue 在前端开发领域具有独特的地位和价值。
260 58

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
  • 2
    面试性能测试总被刷?学员真实遇到的高频问题全解析!
  • 3
    前端工程化演进之路:从手工作坊到AI驱动的智能化开发
  • 4
    Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
  • 下一篇
    oss云网关配置