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