前端面试题 博主实面 (vue)

本文详述了Vue.js的面试题目,涵盖了Vue的两大核心、单页面应用概念、Object.defineProperty的原理、Vue生命周期、Vuex的状态管理、F5刷新数据丢失的解决方案、vue-router的运用,以及单向数据流、虚拟DOM、组件和计算属性等知识点。通过这些面试题,深入理解Vue.js的开发与应用。
摘要由CSDN通过智能技术生成

1、什么是vue?

vue是一个 开发前端应用 的轻量级 开发框架

vue本身采用的是自底向上的逐层构建方式,可以很方便的进行项目整合,提供的单文件组件系统可以很大的提高前端应用的开发效率

扩展

1.1、vue的两个核心

Vue框架的两个核心包含:数据驱动、组件化

2、什么是单页面?

SPA(single page application)仅在Web页面初始化的时候加载相应的HTMLJavaScriptCss。一单页面加载完成,不会因为用户的操作而进行页面的重新加载或跳转;取而代之的是利用路由机制实现HTML内容的变化,UI与用户的交互,避免用户的重复加载。

优点比较明显:

  • 只有一个页面,切换过程非常迅速,提升了用户的使用体验
  • 组件化开发方式,可以更好的处理前后端分离开发
  • 组件内可以添加业务逻辑,减轻接口服务端的压力

缺点:

  • 首屏加载缓慢(路由懒加载)
  • 不利于SEO(搜索引擎优化技术) (SSR、或者花钱-人民币玩家)

什么是vue单页面 优缺点

3、说一下对你object.defineproperty的理解?

Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象

Object.defineProperty(obj, prop, descriptor)

深度理解vue2 数据劫持的原理

4、说一下vue的生命周期

生命周期 描述了一个实例或者组件从创建、加载、运行到销毁的整个过程
生命周期钩子/函数,描述了监听各个阶段的生命周期的执行函数,在某个生命周期阶段对应的生命周期钩子会自动执行

beforeCreate()/created() 实例/组件创建过程
beforeMount() / mounted() 实例/组件DOM挂载过程
beforeUpdate() / updated() 实例/组件数据更新过程
beforeDestroy()/destroyed()实例/组件销毁过程

5、说说你对vuex的理解?

Vuex 是一个专为 Vue.js 应用程序开发的 状态管理模式

vuex是一个状态管理工具,主要解决大中型项目的数据共享问题,主要包括stateactionsmutationsgettersmodules5个要素。

vuex的优势
vuex集中统一管理数据,集中式存储和管理共享的数据,便于开发和维护;
1、vuex中的数据响应式的,只要数据变化,所有使用数据的组件都会自动得到更新;
2、存储在vuex中的数据都是响应式的,能够实时的保持数据和页面的同步(比如localstorage就是办不到的)
vuex数据传递的过程:

组件通过dispatch到actionsactions是异步操作的再actions中通过commit到mutationsmutations再通过逻辑操作改变state从而同步到组件更新其数据状态而getters相当于组件的计算属性他是对组件中获取到的数据做提前处理的

6、F5刷新丢失页面数据怎么解决?

最先想到的应该就是利用localStorage/sessionStorage将数据储存在外部,做一个持久化储存,下面是利用localStorage存储的具体方案:

方案一:由于state中的数据是响应式的,而数据又是通过mutation来进行修改,故在通过mutation修改state中数据的同时调用localStorage.setItem()方法来进行数据的存储。


import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

export default new Vuex.Store{
   
    
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕遥慕遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值