1、为什么要封装axios
1、实现默认配置:baseURL,timeout
2、请求拦截:header添加(token,user)
开启加载提示
请求数据的格式化
3、响应拦截:关闭加载提示,统一错误处理,响应数据格式化
4、方法扩展:jsonp等方法
2、jsonp的原理
利用script的src属性没有同源限制
与后端约定返回数据格式为方法名(data)
前端有预制的方法获取data数据
3、什么是跨域
绕过浏览器的同源策略获取服务器的数据
jsonp,服务响应头信息,本地代理proxy
4、同源策略
浏览器去请求服务端数据时,要当前页面的域名与服务器的域名是同源的
协议一致,端口一致,域名一致,子域名一致
http:协议、www:子域名、baidu.com:域名、8080:端口号
5、路由守卫方法有哪些
组件内部
beforeEnter(to,from,next){}
beforeLeave(to,from,next){}
beforeUpdate(to,from,next){}
路由独享
beforeEnter(to,from,next){}
全局路由守卫
router.beforEach
router.afterEach
参数说明
to 要进入的路由
from从哪个路由进入
next 下一步操作
next() next(false) next(true) next(url)
this 说明before路由守卫里面没有this
next(vm=>{vm是this})
6、
r
o
u
t
e
r
与
router与
router与route有哪些区别(他们各自有哪些属性和方法)
$route当路由页面信息(存放信息)meta,query,params,path,name
$router 整个路由的实例(主要存放方法) push,replace,go,forward,back
7、vue组件传参方式有哪些
父->子 props
子->父 $emit
非父子关系
1、同一个跟组件转发事件
2、cookie sessionStorage,localStorage传递
3、空vue的实例 $on,$emit
4、vuex
8、cookie, sessionStorage,localStorage 区别?manifest浏览器缓存
cookie可以设置过期;大小限制;api操作复杂;每次http请求都会发送到服务器;服务器端也能设置cookie
(后端与前端交互必备佳品)
localStorage存储的数据会大些,不会发送到后端;api操作简单;非主动请求不会过期
sessionStorage与localStorage 关闭浏览器会被清空
9、js文档的注释
/**
*
*
*/
@params {类型} 参数 解释
@returns {类型} 返回 解释
@example {类型} 例子 解释
@constructor
@porperty
@var
@const
10、什么是promise ,有哪些应用场景
是异步编程的一种解决方案,所谓Promse,它本身就是一个容器,里面保存着异步操作的结果
它有三种状态,即:1.pending(进行中)2.resolved(成功)3.rejected(失败)
Promise.all()、Promise.race()
获取容器结果 .then .catch
优点1. 避免异步编程的回调函数嵌套 2. 结果是确定的