Vue3-黑马(五)

目录:

(1)vue3-基础-axios-拦截器

(2)vue3-基础-条件与列表

(3)vue3- 基础-监听器


(1)vue3-基础-axios-拦截器

我们自己创建axios对象有一个好处,就是可以给axios对象加一个拦截器,加了拦截器呢可以队请求和响应做一个统一的处理

我们做的JWT的认证方式,第一次认证成功以后呢,我们需要在请求头里加一个tocken令牌,这种操作适用于请求拦截器,如果不用请求拦截器,那么我们就需要在每一个请求里加一个参数:比较麻烦,所以用拦截器

请求拦截器: 

拦截器中有两个箭头函数,第一个是响应成功,第二个响应失败 

当请求失败时不知道怎么写,直接写Promise.reject

加一个请求头: 

 

 

请求头里就加了: 

 

 

 响应拦截器:处理异常

  

当请求路径写错时:

 响应拦截器中如果请求失败不知道怎么处理可以抛出(各组件):写Promise.reject

如果处理的错误,写:Promise.resolve({ })传一个空对象,处理返回空对象

 

 

响应拦截处理可以具体处理:

400:由于填写的数据有误,请求参数不正确

401:认证不通过

404:访问资源不存在 

 

 一般后端程序员返回的:处理的全局的异常

只加了ExceptionHandler没有加其他注解,返回给前端状态码只是200,这个时候可以跟后端程序员沟通,更改该

 可以加一个注解指定特定的状态码:@ResponseHandler(code=HttpStatus枚举)

 如果后端不更该:

前端需要在状态码200中继续添加错误判断 

 (2)vue3-基础-条件与列表

 列表循环:

v-for做标签的循环 根据数据循环,针对一组div标签循环数据:

 

我们用的是typescript语言,做一些类型的检查,对于当前页面他不知道s类型,他不知道s属性有哪些类型,我们可以这样做定义一个类型:并且给ref函数提供一个泛型

 

 

我们在这个组件里加了学生类型说明,但是其他组件也需要这个学生类型,那么可不可以把这个组件放到一个文件中呢

在src下新建一个文件夹model:定义的类型是后端返回的类型

在这个组件中在引入:把类型的定义删除

 

 以后呢可以把类型的定义都放到这个文件中:

加入这个类型之后,有什么好处呢?在resp.data.没有提示,加了类型说明之后,就会有类型提示了:

在typescript的很多方法都支持泛型 

 首先引入类型SpringList类型说明,返回的是一个R对象

 

 条件判断:

当后端返回空的集合:

那么前端的循环有意义嘛?更好的展示方式是显示暂无数据:

可以做学生数组做一个判断:

v-if:条件判断

 

 如果不想要v-elsediv不会生成最终的html代码在页面显示,改成template

 

 

(3)vue3- 基础-监听器

监听器来监听数据发生变化,做一些事情,比如在页面打印一段话:

更改:张三 

 

 

 

监听器在响应式数据的基础上添加了一些额外的操作,我们把额外的操作叫做添加了副作用,这个副作用可以有很多种变化,利用这种特性可以把更多的变成响应式的,这就是监听器的作用

当刷新页面,页面的数据就丢失了,数据发生重新加载,我们想要把数据长久的保存起来 ,就用到浏览器提供的功能了一个是localStorage、sessionStorage(浏览器关了)

这样就实现了刷新页面,数据还能存储的功能 

 

 

 可以把响应式数据使用监听器做了扩展功能封装成一个函数

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

喵俺第一专栏

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

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

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

打赏作者

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

抵扣说明:

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

余额充值