Vue3:自定义hooks,实现逻辑代码封装,增强代码的复用性和可维护性(axios案例演示)
admin 阅读: 2024-03-22
后台-插件-广告管理-内容页头部广告(手机) |
一、情景说明
在Vue2中,我们想要实现代码的封装与复用性,采用的技术是mixin。
mixin技术案例演示:https://blog.csdn.net/Brave_heart4pzj/article/details/135483606
而在Vue3中,我们则使用hooks来实现这个效果。
什么是hook?—— 本质是一个函数,把setup函数中使用的Composition API进行了封装
我们可以用js文件或者ts文件来封装
hook的命名规范:useXxxx
二、案例
1、创建hook
useDog.ts
使用axios请求接口,获取数据,并使用了生命周期函数onMounted
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
useSum.ts
import { ref ,onMounted,computed} from 'vue' export default function () { // 数据 let sum = ref(0) let bigSum = computed(()=>{ return sum.value * 10 }) // 方法 function add() { sum.value += 1 } // 钩子 onMounted(()=>{ add() }) // 给外部提供东西 return {sum,add,bigSum} }- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
2、使用hook
Person.vue
在person组件中使用hook
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
经过案例的练习,我们可以明显的感觉到,Vue3的hook和Vue2的mixin作用非常相似
在语法上有较大差异。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |