目录:
(1)vue3-基础-vueuse
(2)vue3-基础-useRequest
(3)vue3-基础-usePagination
(1)vue3-基础-vueuse
我们在实际中use函数的封装,不用我们自己写,其实已经有人帮助我们写好了工具函数
这个网站,它提供了很多的use函数帮助我们创建有扩展功能的响应时数据
安装一下:
useMouse函数:是把鼠标的坐标封装成响应式数据,
useMouse()返回结果是一个对象包含了鼠标的坐标x和y,做一个结构赋值
useCounter函数是封装的计数器的函数,返回是一个对象,里面有属性和方法count计数的数字初始值0,inc增减计数函数、dec减少计数函数
useStorage函数:存储数据函数
(2)vue3-基础-useRequest
我们学习一个第三方的库vue-Request,他可以把axios返回的响应直接变成响应式的
之前我们需要先准备好一个响应时的数据,当axios真正返回后,把返回的数据,更新掉响应式数据的值
安装:
引入use-Request函数:以后我们会用到很多的use函数,他们都是对响应式数据的增强封装
useRequest()里面传一个箭头函数,箭头函数只需要一行代码做它的返回值所以{}可以省略
使用v-for循环的使用,要绑定一个唯一的属性key
页面中的三层.data看着不好看,反复出现了2次:需要反复计算的表达式,我们可以用计算属性进行封装
data的axios的响应对象,内部用到了ref封装了,使用ref封装的数据,在页面模板可以直接写,但是在typescript代码里面需要使用.value获取到数据:
在页面做一个类型说明,提升编码体验
在Model中继续添加类型的扩展:
AxiosResponse响应对象:类型不够准确,需要近一步说明:
这个时候就有提示了:
(3)vue3-基础-usePagination
usePagination这个方法是跟分页有关的
后端代码:
请求参数对象
前端定义类型:下面前面已经定义了,定义请求参数
年龄使用字符串传递给后端,Spring框架帮我们转换为整数数组
引入总页数、总条数:
查询函数:
usePagination()会返回一个函数run,用它就不用在写这个usePagination了
调用run函数需要把改动后的数据传递进去dto.value会作为参数会传递给axios的参数
查询第二页的: