Composition API实现逻辑复用

  • 抽离逻辑代码到一个函数
  • 函数命名约定为useXxxx格式(react Hooks也是)
  • 在setup中去引用这个函数

如下经典鼠标位置例子:

// useMousePosition.ts
import { onMounted, onUnmounted, ref } from "vue";const useMousePosition = () => {const x = ref(0);const y = ref(0);function mousemoveHandler(e: MouseEvent) {x.value = e.pageX;y.value = e.pageY;}onMounted(() => window.addEventListener('mousemove', mousemoveHandler));onUnmounted(() => window.removeEventListener('mousemove', mousemoveHandler));return { x, y }
}
export default useMousePosition;

// index.vue
<template><div>position - x: {{ x }}, y: {{ y }}</div>
</template><script lang="ts">
import useMousePosition from './useMousePosition';export default {setup() {const { x, y } = useMousePosition()return {x,y}}
}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/48712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spark官方文档部分翻译】RDD编程指南(RDD Programming Guide)

写在前面 内容如何选择 本翻译只翻译本人认为精华的部分&#xff0c;本人认为的Spark的一些核心理念&#xff0c;编程思想。一些特别基础的操作包括但不限于搭建环境就不在此赘述了。 配套版本 本系列基于Spark 3.3.1&#xff0c;Scala 2.12.10&#xff0c;进行翻译总结 原…

Linux+InternStudio 关卡(test)

任务地址&#xff1a; https://github.com/InternLM/Tutorial/blob/camp3/docs/L0/Linux/task.md 文档 https://github.com/InternLM/Tutorial/blob/camp3/docs/L0/Linux/readme.md 任务 ssh连接 端口映射 gradio页面 笔记&#xff1a; 1.端口映射阶段&#xff1a;输入密…

编译linux kernel时,如何增加一个include路径?

编译linux kernel时增加一个include路径的方法&#xff0c;使用 EXTRA_CFLAGS : make O/path/to/build/dir ARCHyour_arch CROSS_COMPILEyour_cross_compiler EXTRA_CFLAGS"-I/your/new/path" 其中 EXTRA_CFLAGS"-I/your/new/path" 就是要增加的include路径…

线段树分治+可撤销并查集 学习笔记

题目一般是给你边或者点的出现时间区间[Li,Ri]&#xff0c;问你在某些时间里1能访问到的点或者点的数量。 先考虑暴力的思路&#xff0c;就是对于一个具体的时间节点&#xff0c;我们去暴力地得知当前边/点是否出现&#xff0c;并且跑图查看是否联通。 由于一个具体的时间节点…

使用 hutool工具实现导入导出功能。

hutool工具网址 Hutool参考文档 pom依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.20</version></dependency><dependency><groupId>org.apache.poi</gro…

ASP.NET Core在启动过程中使用数据库实例的几种方式

ASP.NET Core项目启动过程中若要调用SqlSugarClient实例操作数据库数据&#xff08;假设操作函数如下&#xff09;&#xff0c;特此记录以下几种方式&#xff1a; public class PublicDataBuffer {public static List<EnvironmentRecord> DataBuffer new List<Envir…

【BUG】已解决:ModuleNotFoundError: No module named ‘sklearn‘

已解决&#xff1a;ModuleNotFoundError: No module named ‘sklearn‘ 目录 已解决&#xff1a;ModuleNotFoundError: No module named ‘sklearn‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是…

Kotlin 基础语法

文章目录 一. 函数 一. 函数 Java中方法的叫法更普遍一些&#xff0c;Kotlin中函数的叫法更普遍一些&#xff1b;二者为同一东西 1. 标准写法 fun largerNumber(num1: Int, num2: Int): Int {return max(num1, num2) }2. 重要语法糖 当一个函数中只有一行代码时&#xff0c;K…

视频点播项目

文章目录 视频点播技术栈与项目环境JsonCppMariaDBhttplib 工具类设计文件类Json类 数据管理模块视频信息管理&#xff08;数据表设计&#xff09;数据管理类设计 网络通信接口设计业务处理模块设计前端界面主页面播放页面 项目总结项目回顾项目结构关键技术点总结 视频点播 允…

亚马逊自发货erp,虚拟自动化发货功能以及1688订单采购

亚马逊自发货erp自动化功能&#xff0c;自动同步订单&#xff0c;1688订单同步。 大家好&#xff0c;今天分享一个非常实用并且节省时间的功能&#xff1a;自动化发货以及1688同步订单。 首先来看下自动化发货功能怎么操作。 →要在商品信息里面添加商品信息&#xff0c;上传…

ubuntu系统下安装配置 8.0.37的MySQL

ubuntu系统下安装配置MySQL 8.0.37-0ubuntu0.22.04.3服务 安装mysql sudo apt update sudo apt install mysql-server sudo systemctl status mysql进入mysql&#xff0c;创建特定用户&#xff0c;专门用于登录 sudo mysql; create user user_nameip_address identified by …

风灵月影修改器未检测到游戏怎么回事?解决方法分享

当风灵月影修改器未检测到游戏进程时&#xff0c;可能是由以下几个原因导致的&#xff1a; 1. 游戏未启动&#xff1a; 最直接的原因就是游戏本身没有被启动&#xff0c;或者游戏还未完全加载完成&#xff0c;处于启动过程中的某个阶段&#xff0c;此时修改器可能检测不到游戏…

【总结】逻辑运算在Z3中运用+CTF习题

国际赛IrisCTF在前几天举办&#xff0c;遇到了一道有意思的题目&#xff0c;特来总结。 题目 附件如下&#xff1a;&#x1f4ce;babyrevjohnson.tar 解题过程 关键main函数分析如下&#xff1a; int __fastcall main(int argc, const char **argv, const char**envp){int v4…

【优质精选】12节大模型系列教学课程-更新中001

欢迎踏上这一精彩纷呈的大模型知识之旅&#xff01;这一系列课程是为了帮助您全面、深入地理解和掌握大模型领域的核心知识与前沿技术而精心设计的。 从基础概论开始&#xff0c;为您搭建起扎实的知识框架&#xff0c;让您对大模型的来龙去脉有清晰的认知。深入剖析 RAG、SFT、…

关于adcoder和codeforce 如何安装翻译插件

首先在扩展当中下载插件篡改猴 其次&#xff0c;点击获取新的脚本 最后搜索 atcoder better 和 codeforce better 安装即可

【Spring Boot】网页五子棋项目实现,手把手带你全盘解析(长达两万3千字的干货,坐好了,要发车了......)

目录 网页五子棋项目一、项目核心流程二、 登录模块2.1 前端输入用户信息2.2 后端进行数据库查询用户信息 三、 游戏大厅模块3.1 前端通过Ajax请求用户数据&#xff0c;后端从Session中拿取并从数据库中查询后返回3.2 前后端建立WebSocket连接&#xff0c;并进行判断&#xff0…

如何处理 PostgreSQL 中死锁的情况?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 如何处理 PostgreSQL 中死锁的情况&#xff1f;一、认识死锁二、死锁的症状三、死锁的检测四、预防死锁…

【MySQL】:想学好数据库,不知道这些还想咋学

客户端—服务器 客户端是一个“客户端—服务器”结构的程序 C&#xff08;client&#xff09;—S&#xff08;server&#xff09; 客户端和服务器是两个独立的程序&#xff0c;这两个程序之间通过“网络”进行通信&#xff08;相当于是两种角色&#xff09; 客户端 主动发起网…

Java语言程序设计——篇六(1)

字符串 概述创建String类对象     字符串基本操作实战演练 字符串查找字符串转换为数组字符串比较实战演练 字符串的拆分与组合 概述 字符串 用一对双引号“”括起来的字符序列。Java语言中&#xff0c;字符串常量或变量均用类实现。 字符串有两大类&#xff1a; 1&…

设计模式学习[2]---策略模式+简单工厂回顾

文章目录 前言1.简单工厂模式回顾2.策略模式3.策略模式简单工厂的结合总结 前言 上一篇讲到简单工厂模式。 在我的理解中工厂的存在就是&#xff0c;为了实例化对象。根据不同条件实例化不同的对象的作用。 这篇博客写的策略模式&#xff0c;可以说是把这个根据不同情况实例化…