1. sessionStorage和localStorage的区别
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
2.Local storage和cookies之间的区别是什么?
区别一:客户端和服务端都能访问数据。
Cookie的数据通过每一个请求发送到服务端
Local storage只有本地浏览器端可访问数据,
服务器不能访问本地存储直到故意通过POST或者GET的通道发送到服务器
区别二:大小
每个cookie有4095byte
Local storage每个域5MB
区别三:过期
Cookies有有效期,所以在过期之后cookie和cookie数据会被删除
Local storage有过期数据,如需删除只能手工删除
3.请列举出3个Vue中常用的生命周期钩子函数?
created: 实例已经创建完成之后调用,在这一步,实例已经完成数据观测, 属性和方法的运算, watch/event事件回调. 然而, 挂载阶段还没有开始, $el属性目前还不可见
mounted: el被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。如果 root 实例挂载了一个文档内元素,当 mounted 被调用时 vm.$el 也在文档内。
activated: keep-alive组件激活时调用
4.vue-loader是什么?使用它的用途有哪些?
解析.vue文件的一个加载器,跟template/js/style转换成js模块。
用途:js可以写es6、style样式可以scss或less、template可以加jade等
5.axios的特点有哪些?
Axios 是一个基于 promise 的 HTTP 库,支持promise所有的API
它可以拦截请求和响应
它可以转换请求数据和响应数据,并对响应回来的内容自动转换成 JSON类型的数据
安全性更高,客户端支持防御 XSRF
6.Vuex的理解
Vuex是一个专为Vue开发的应用程序的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化
核心概念:
Store:要使用Vuex,我们要创建一个实例 store ,我们称之为仓库,利用这个仓库 store 来对我们的状态进行管理
Vuex 使用单一状态树,用一个对象State包含了整个应用层级的所有状态,你可以理解为这些状态就是一堆全局变量和数据
还记得Vue中的计算属性computed 吗?当我们需要在data的基础上再派生一些状态的时候,就会使用computed 来实现。同样,当我们需要从 state 中派生出一些状态的时候,就会使用到getters,你可以将 getters 理解state的计算属性。
Vuex相比传统的全局变量有两个优势,其中一个是Vuex中的状态不能随意修改,要修改必要按照Vuex提供的方式才能修改
Action 类似于 mutation,不同在于:
Action 提交的是 mutation,而不是直接变更状态。
Action 可以包含任意异步操作,通过 store.dispatch 方法触发
7.vue的声明周期
总共8个阶段:
创建前/后: 创建模型数据和响应系统
beforeCreated 挂在元素$el:undefined 数据data:undefined
Created 挂在元素$el:undefined 数据data:{.....}
载入前/后: 挂载 创建虚拟DOM 并生成真实DOM
认为Vue实例/组件首次加载完成
可以发送ajax请求
也可以操作DOM元素
beforeMount:挂载元素$el undefined 数据data {.....}
Mounted: 挂载元素$el DOM 数据data{....}
更新前/后: 模型数据发生变化时触发
BeforeUpdate:
Updated:
销毁前/后: destroy()方法被调用时,要销毁组件/实例时
beforeDestroy
Destroyed
v-show和v-if指令的共同点和不同点?
v-show指令是通过修改元素的displayCSS属性让其显示或者隐藏
v-if指令是直接销毁和重建DOM达到让元素显示和隐藏的效果