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

自定义vue3 hooks

文章目录

  • hooks
    • 目录结构
    • demo

hooks

当页面内有很多的功能,js代码太多,不好维护,可以每个功能都有写一个js或者ts,这样的话,代码易读,并且容易维护,组合式setup写法与此结合👍👍🏼👍👍👍👍

目录结构

在这里插入图片描述

demo

  • useDogs.ts

import { ref, reactive  } from 'vue';
import axios from 'axios';
// https://dog.ceo/api/breed/pembroke/images/random
export default function () {let dogList = reactive(['https://images.dog.ceo/breeds/pembroke/n02113023_1816.jpg']);async function getDog() {try {let res = await axios.get('https://dog.ceo/api/breed/pembroke/images/random');dogList.push(res.data.message);console.log(res.data);} catch (error) {console.log(error);}}return {dogList,getDog}
}
  • useSum.ts

import { ref, reactive } from 'vue';
import axios from 'axios';
export default function () {let sum = ref(0);function add() {sum.value += 1;}return {sum,add}
}
  • 基本页面内容

<template><h2>当前求和为{{ sum }}</h2><button @click="add()">sum</button><button @click="getDog()">再来一只小狗</button><img v-for="dog in dogList" :src="dog" alt="" srcset="" /><br />
</template>
<script lang="ts" setup name="Hello321">
import useDogs from '@/hooks/useDogs';
import useSum from '@/hooks/useSum';
const { dogList, getDog } = useDogs();
const { sum, add } = useSum();
</script>

相关文章:

自定义vue3 hooks

文章目录 hooks目录结构demo hooks 当页面内有很多的功能&#xff0c;js代码太多&#xff0c;不好维护&#xff0c;可以每个功能都有写一个js或者ts&#xff0c;这样的话&#xff0c;代码易读&#xff0c;并且容易维护&#xff0c;组合式setup写法与此结合&#x1f44d;&#…...

《昇思25天学习打卡营第21天 | 昇思MindSporePix2Pix实现图像转换》

21天 本节学习了通过Pix2Pix实现图像转换。 Pix2Pix是基于条件生成对抗网络&#xff08;cGAN&#xff09;实现的一种深度学习图像转换模型。可以实现语义/标签到真实图片、灰度图到彩色图、航空图到地图、白天到黑夜、线稿图到实物图的转换。Pix2Pix是将cGAN应用于有监督的图…...

【文档+源码+调试讲解】科研经费管理系统

目 录 目 录 摘 要 ABSTRACT 1 绪论 1.1 课题背景 1.2 研究现状 1.3 研究内容 2 系统开发环境 2.1 vue技术 2.2 JAVA技术 2.3 MYSQL数据库 2.4 B/S结构 2.5 SSM框架技术 3 系统分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2 操作可行性 3.1.3 经济可行性 3.1…...

linux 下 rm 为什么要这么写?

下面代码中的rm 为什么要写成/bin/rm? 大文件清理&#xff0c;高宿主含量样本可节约>90%空间/bin/rm -rf temp/qc/*contam* temp/qc/*unmatched* temp/qc/*.fqls -l temp/qc/ 这是一个很好的问题&#xff0c;观察很仔细, 也带着了自己的思考。 rm是 Linux 下的一个危险…...

【Spring Boot】Spring AOP中的环绕通知

目录 一、什么是AOP?二、AOP 的环绕通知2.1 切点以及切点表达式2.2 连接点2.3 通知&#xff08;Advice&#xff09;2.4 切面(Aspect)2.5 不同通知类型的区别2.5.1 正常情况下2.5.2异常情况下 2.6 统一管理切点PointCut 一、什么是AOP? Aspect Oriented Programming&#xff…...

docker部署前端,配置域名和ssl

之前使用80端口部署前端项目后&#xff0c;可以使用IP端口号在公网访问到部署的项目。 进行ICP域名备案后&#xff0c;可以通过域名解析将IP套壳&#xff0c;访问域名直接访问到部署的项目~ 如果使用http协议可以很容易实现这个需求&#xff0c;对nginx.conf文件进行修改&#…...

初学Spring之 IOC 控制反转

Spring 是一个轻量级的控制反转&#xff08;IOC&#xff09;和面向切面编程&#xff08;AOP&#xff09;的框架 导入 jar 包&#xff1a;spring-webmvc、spring-jdbc <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc&…...

rpc的仅有通信的功能,在网断的情况下,比网通情况下,内存增长会是什么原因

RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;主要负责在分布式系统中透明地调用远程服务&#xff0c;就像调用本地函数一样。它封装了网络通信的细节&#xff0c;使得开发者可以专注于业务逻辑而非底层通信协议。RPC通信通常包括序列化、网络传输…...

从零开始:如何设计一个现代化聊天系统

写在前面: 此博客内容已经同步到我的博客网站,如需要获得更优的阅读体验请前往https://mainjaylai.github.io/Blog/blog/system/chat-system 在当今数字化时代,聊天系统已成为我们日常生活和工作中不可或缺的一部分。从个人交流到团队协作,从客户服务到社交网络,聊天应用…...

香橙派OrangePi AIpro初体验:当小白拿到一块开发板第一时间会做什么?

文章目录 香橙派OrangePi AIpro初体验&#xff1a;当小白拿到一块高性能AI开发板第一时间会做什么前言一、香橙派OrangePi AIpro概述1.简介2.引脚图开箱图片 二、使用体验1.基础操作2.软件工具分析 三、香橙派OrangePi AIpro.测试Demo1.测试Demo1&#xff1a;录音和播音(USB接口…...

【C语言内存函数】

目录 1.memcpy 使用 模拟实现 2.memmove 使用 模拟实现 3.memset 使用 4.memcmp 使用 1.memcpy 使用 void * memcpy ( void * destination, const void * source, size_t num );目的地址 源地址 字节数 destination&#xff1a;指向要复制内…...

Mysql部署MHA高可用

部署前准备&#xff1a; mysql-8.0.27下载地址&#xff1a;https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar mha-manager下载地址&#xff1a;https://github.com/yoshinorim/mha4mysql-manager/releases/download/v0.58/mha4mysql-mana…...

【算法学习】射线法判断点在多边形内外(C#)以及确定内外两点连线与边界的交点

1.前言&#xff1a; 在GIS开发中&#xff0c;经常会遇到确定一个坐标点是否在一块区域的内部这一问题。 如果这个问题不是一个单纯的数学问题&#xff0c;例如&#xff1a;在判断DEM、二维图像像素点、3D点云点等含有自身特征信息的这些点是否在一个区域范围内部的时候&#x…...

SQL语句(DML)

DML英文全称是Data Manipulation Language&#xff08;数据操作语言&#xff09;&#xff0c;用来对数据库中表的数据记录进行增删改等操作 DML-添加数据 insert into employee(id, workno, name, gender, age, idcard) values (1,1,Itcast,男,10,123456789012345678);select *…...

uniapp小程序打开地图导航

uniapp uni.getLocation({type: gcj02, //返回可以用于uni.openLocation的经纬度success: function (res) {const latitude res.latitude;const longitude res.longitude;uni.openLocation({latitude: latitude,longitude: longitude,success: function () {console.log(suc…...

webstorm格式化或保存时 vue3引入的组件被删除了

解决办法 保存时设置 格式化设置...

Java时间转换

一、线程不安全 Date date new Date(); SimpleDateFormat dateFormat new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String prefix dateFormat.format(date);二、线程安全,建议使用 String t1 LocalDateTime.now().format(DateTimeFormatter.ofPattern("y…...

Spring Boot与WebFlux的实战案例

Spring Boot与WebFlux的实战案例 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;我们将探讨如何利用Spring Boot和WebFlux构建响应式应用的实战…...

vue3引入本地静态资源图片

一、单张图片引入 import imgXX from /assets/images/xx.png二、多张图片引入 说明&#xff1a;import.meta.url 是一个 ESM 的原生功能&#xff0c;会暴露当前模块的 URL。将它与原生的 URL 构造器 组合使用 注意&#xff1a;填写自己项目图片存放的路径 /** vite的特殊性…...

git 禁止dev合并到任何其他分支

创建 pre-merge-commit 钩子 导航到 Git 仓库的钩子目录&#xff1a; cd /path/to/your/repo/.git/hooks创建或编辑 pre-merge-commit 钩子&#xff1a; 也可以通过指令创建 nano pre-merge-commit在钩子文件中添加以下代码&#xff1a; #!/bin/sh# 获取当前分支名称 curr…...

别再手动填Excel了!用Java+Spire.XLS 15.6.3实现批量报表自动化(附完整源码)

Java报表自动化革命&#xff1a;Spire.XLS实战指南与生产力跃迁 凌晨三点的办公室&#xff0c;最后一份月度销售报表终于核对完毕。这样的场景是否似曾相识&#xff1f;据统计&#xff0c;全球超过70%的企业级数据仍通过Excel流转&#xff0c;而其中近40%的时间消耗在机械化的…...

Coze-Loop与Vue3前端性能优化:渲染速度提升方案

Coze-Loop与Vue3前端性能优化&#xff1a;渲染速度提升方案 1. 为什么Vue3项目需要Coze-Loop来诊断性能问题 在实际开发中&#xff0c;很多团队都遇到过这样的困惑&#xff1a;明明代码写得挺规范&#xff0c;但页面滚动卡顿、列表加载缓慢、交互响应迟滞。我们曾接手一个电商…...

揭秘新篇!AI应用架构师的数据安全服务AI防护新思路

揭秘新篇&#xff01;AI应用架构师的数据安全服务AI防护新思路 一、引言&#xff1a;AI时代的数据安全困局 当我们谈论AI应用时&#xff0c;数据是一切的核心——它是模型训练的“燃料”&#xff0c;是推理决策的“依据”&#xff0c;更是企业的核心资产。但随着AI技术的普及&a…...

ThinkPHP6+UniApp实战:手把手教你用宝塔面板部署Niushop V5.5.0多门店商城(含全插件配置)

ThinkPHP6UniApp实战&#xff1a;宝塔面板部署Niushop V5.5.0多门店商城全流程解析 在数字化转型浪潮中&#xff0c;电商系统的快速部署能力已成为技术团队的核心竞争力之一。本文将带您深入实战&#xff0c;从零开始完成Niushop V5.5.0多门店商城系统的完整部署。不同于基础教…...

Swift-All快速上手:小白也能轻松搞定大模型训练与部署

Swift-All快速上手&#xff1a;小白也能轻松搞定大模型训练与部署 1. 为什么选择Swift-All&#xff1f; 如果你刚接触大模型训练&#xff0c;可能会被各种复杂的工具和框架吓到。配置环境、处理分布式训练、管理显存...这些技术细节常常让新手望而却步。这就是Swift-All的价值…...

nlp_gte_sentence-embedding_chinese-large长文本处理技巧:分段与聚合策略

nlp_gte_sentence-embedding_chinese-large长文本处理技巧&#xff1a;分段与聚合策略 1. 引言 你是不是也遇到过这样的问题&#xff1a;手头有一篇几十页的技术报告或者学术论文&#xff0c;想要用nlp_gte_sentence-embedding_chinese-large模型来提取文本向量&#xff0c;却…...

5分钟掌握终极资源下载神器:res-downloader跨平台智能嗅探工具

5分钟掌握终极资源下载神器&#xff1a;res-downloader跨平台智能嗅探工具 【免费下载链接】res-downloader 资源下载器、网络资源嗅探&#xff0c;支持微信视频号下载、网页抖音无水印下载、网页快手无水印视频下载、酷狗音乐下载等网络资源拦截下载! 项目地址: https://git…...

mytrader-开源量化交易平台:多语言支持下的金融数据分析与策略开发实战

1. mytrader&#xff1a;量化交易的全能工具箱 第一次接触mytrader时&#xff0c;我被它支持的多语言生态震惊了——这就像找到了一把能打开所有量化交易大门的万能钥匙。作为开源量化交易平台&#xff0c;mytrader最突出的特点就是允许开发者使用C/C、Python、Excel/VBA甚至麦…...

【信号处理实战】从原理到代码:手把手实现三次样条插值

1. 三次样条插值&#xff1a;从数学定义到生活场景 想象你正在用一根柔软的弹性尺子连接一组图钉&#xff0c;这些图钉固定在木板上代表你的数据点。这根尺子需要光滑地穿过每一个图钉&#xff0c;同时保持自然的弯曲形态——这就是三次样条插值要解决的问题。作为信号处理中最…...

3大革新性功能!VoiceFixer全方位语音修复工具让受损音频焕发新生

3大革新性功能&#xff01;VoiceFixer全方位语音修复工具让受损音频焕发新生 【免费下载链接】voicefixer General Speech Restoration 项目地址: https://gitcode.com/gh_mirrors/vo/voicefixer 你是否遇到过珍贵录音因噪音模糊不清的窘境&#xff1f;是否因会议录音质…...