当前位置: 首页 > news >正文

vue3 - 自定义hook

自定义hook

简单点来说就是将人物或者订单的所有数据和方法放在一个ts文件里面

这样便于维护 假如一个人只需要管 人物的模块 那他只需要操作usePerson.ts文件就可以了

//useDog.ts

import { ref,reactive} from 'vue';
import axios  from 'axios';export default function(){let dogList=reactive(['https://images.dog.ceo/breeds/pembroke/n02113023_4373.jpg' ])async function getDog(){let result=await axios.get('https://dog.ceo/api/breed/pembroke/images/random')dogList.push(result.data.message)}//向外部提交东西return {dogList,getDog}
}

useHeight.ts

import { ref,reactive} from 'vue';export default function(){let height=ref(0)function addHeigtht(){height.value+=1}return {height,addHeigtht}
}

person.vue

<template><div class="person"><h1>当前的高度为{{ height }}</h1><button @click="addHeigtht">点我高度加一 </button><hr><img v-for="(dog,index) in dogList" :src="dog" :key="index"><hr><hr><button @click="getDog">点我狗再来</button></div>
</template><script lang="ts" setup name="Person">import useDog from '@/hooks/useDog'import useHeight from '@/hooks/useHeight'const {dogList,getDog} =useDog()const {height,addHeigtht} =useHeight()</script><style>.person{background-color: aqua;box-shadow: 0 0 10px;padding: 20px;border-radius: 10px;}button{margin: 0 6px;}img{height: 150px;}
</style>

在这里插入图片描述

相关文章:

  • Jenkins 会被完全取代吗?
  • FPGA基础 -- Verilog门级建模之奇偶校验电路
  • 创建postgres数据库失败
  • 【PDF提取表格】批量提取PDF里的内容保存到Excel表格,批量提取PDF文档中的信息到Excel的具体步骤和注意事项
  • [neo4j]neo4j-community-5.26.0-windows的安装
  • 游戏技能编辑器开发完全指南系统架构设计之技能编辑器整体架构
  • MacOS上MySQL的安装以及使用
  • python2.7+flask1.1.4+SQLAlchemy1.3.0+Flask-SQLAlchemy2.1连接mysql稳定方式
  • 二分算法深度解析
  • AI大模型初识(一):AI大模型的底层原理与技术演进
  • 【Linux驱动开发 ---- 2.1_深入理解 Linux 内核架构】
  • 生成模型_条件编码器
  • 【BTC】密码学原理
  • FPGA基础 -- Verilog表达式之操作数:常数
  • _mm_aeskeygenassist_si128 硬件指令执行的操作
  • SpringCloud + Zookeeper + Feign整合及Feign原理
  • 43-旋转图像
  • 网络安全之任意文件读取利用
  • nt!CcGetDirtyPages函数分析之Scan to the end of the Bcb list--重要
  • 设计模式笔记_创建型_工厂模式
  • 做桑拿网站挣钱吗/今日新闻事件
  • 简述网站开发的流程/广告投放平台有哪些
  • 运城网站建设公司有多少钱/千瓜数据
  • 网站可以换虚拟主机吗/网络营销技巧培训
  • 做a动态网站/昆明seo网站管理
  • 单页面网站跳出率/举例说明什么是seo