vueuse的常用方法记录

  1. useStorage(key, value): 响应式的LocalStorage
    // 初始化 useLocalStorage,传入 key 和默认值
    const storedValue = useStorage('my-key', 'default-value');// 监听存储值的变化
    watch(storedValue, (newValue, oldValue) => {console.log('存储值从', oldValue, '变更为', newValue);
    });
    
  2. 获取当前聚焦的元素
    const activeElement = useActiveElement()watch(activeElement, (el) => {console.log('当前活动元素是', el)
    })
    
  3. 记录Ref的变化,并且可以撤销和重做
    const counter = ref(0)
    const { history, undo, redo } = useRefHistory(counter)
    
  4. 监听页面显示隐藏
    const visibility = useDocumentVisibility()
    watch(visibility, (newValue, oldValue) => {console.log('文档可见性从', oldValue, '变更为', newValue)
    })
    
  5. 监听具体元素的拖动
    const el = ref<HTMLElement | null>(null)// `style` 将作为 `left: ?px; top: ?px;` 的辅助计算属性
    const { x, y, style } = useDraggable(el, {initialValue: { x: 40, y: 40 },
    })
    
  6. 检测目标元素的可见性。
    const target = ref(null)const { stop } = useIntersectionObserver(target,([{ isIntersecting }], observerElement) => {if (isIntersecting ) {// 可见} else {// 不可见}},
    )
    
  7. 监听鼠标事件
    const target = ref(null)const { x, y, isOutside } = useMouseInElement(target)
    
  8. 获取当前的响应式窗口大小
    const { width, height } = useWindowSize()
    
  9. 获取蓝牙API
    const {isSupported,isConnected,device,requestDevice,server,
    } = useBluetooth({acceptAllDevices: true,
    })
    
  10. 剪贴板:useClipboard
  11. 打开取色器:
    const { isSupported, open, sRGBHex } = useEyeDropper()
    
  12. 插入div和样式
    const {id,css,load,unload,isLoaded,
    } = useStyleTag('.foo { margin-top: 32px; }')
    
  13. 根据内容自动更新 textarea 的高度。
    <script setup lang="ts">
    const { textarea, input } = useTextareaAutosize()
    </script><template><textarearef="textarea"v-model="input"class="resize-none"placeholder="想说点什么?"/>
    </template>
    
  14. 设备震动
    // 这会让设备振动 300 毫秒
    // 然后在振动设备另外 300 毫秒之前暂停 100 毫秒:
    const { vibrate, stop, isSupported } = useVibrate({ pattern: [300, 100, 300] })// 开始振动,当模式完成时,它将自动停止:
    vibrate()// 但是如果你想停止它,你可以:
    stop()
    
  15. 监听点击事件
const target = ref(null)onClickOutside(target, event => console.log(event))
  1. 监听键盘
onKeyStroke('ArrowDown', (e) => {e.preventDefault()
})
  1. 监听长按事件:onLongPress

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

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

相关文章

Flux.all 使用说明书

all public final Mono<Boolean> all(Predicate<? super T> predicate)Emit a single boolean true if all values of this sequence match the Predicate. 如果该序列中的所有值都匹配给定的谓词&#xff08;Predicate&#xff09;&#xff0c;则发出一个布尔值…

Docker容器单机网络架构全攻略:从IP地址到路由的全面解析

文章目录 Docker容器单机网络架构全攻略:从IP地址到路由的全面解析一 docker网络学习基础1.1 拉取 alpine 镜像1.2 运行容器1.3 进入容器终端1.4 连接到正在运行中的容器1.5 查看容器的ip地址1.6 查看容器的路由Docker容器单机网络架构全攻略:从IP地址到路由的全面解析 一 d…

大模型之三十二-语音合成TTS(coqui) 之二 fine-tune

在 大模型之三十-语音合成TTS(coqui)[shichaog CSDN]中提到了xttsv2的fine-tune。 数据情况&#xff1a; 我是从bilibili up主小Lin说提取了一些视频&#xff0c;然后进行了重新的fine-tune。 训练结果 如下图所示&#xff0c;上面波形幅度较大的是xttsv2原始模型的结果&am…

MacPro M3无法运行minikube 和 docker

本想在mac上安装minikube学习一下的&#xff0c;通过brew安装后发现报下面的问题 1、运行minikube的提示 MacBook-Pro ~ % minikube start &#x1f604; Darwin 14.4.1 (arm64) 上的 minikube v1.34.0 &#x1f44e; 无法选择默认驱动程序。以下是按优先顺序考…

10.22学习

1.求余 在C语言中&#xff0c;求余操作是通过取模运算符 % 来实现的。取模运算符会返回两个数相除后的余数。对于正数和负数的除法&#xff0c;求余的结果会有所不同&#xff0c;但 % 运算符总是返回被除数的符号。 下面是一个简单的例子&#xff0c;展示如何使用 % 运…

独立构件风格

什么是独立构件风格&#xff1f; 独立构件风格是指在系统架构中&#xff0c;所有的构件&#xff08;也就是系统的各个部分&#xff09;都是相对独立的&#xff0c;它们之间不会直接进行通信&#xff0c;而是通过一些机制&#xff08;比如消息传递或事件触发&#xff09;来协调…

tauri打包失败Error failed to bundle project: error running light.exe解决办法

Running light to produce D:\a\PakePlus\PakePlus\src-tauri\target\release\bundle\msi\快手_0.0.1_x64_en-US.msi Error failed to bundle project: error running light.exe ELIFECYCLE  Command failed with exit code 1. Error: Command failed with exit code 1: pnpm …

Python进阶--海龟绘图turtle库

目录 1. 画笔运动命令 2. 画笔控制命令 3. 设置画布大小 1. 画笔运动命令 2. 画笔控制命令 turtle.pensize()&#xff1a;设置画笔的宽度&#xff1b; turtle.pencolor(‘red’)&#xff1a;没有参数传入&#xff0c;返回当前画笔颜色&#xff0c;传入参数设置画笔颜色。 t…

Linux:线程及其控制

我们已经学了线程的创建&#xff0c;现在要学习线程的控制 线程等待 我们来先写一个没有线程等待的代码&#xff1a; pthcon.c: #include<stdio.h> #include<pthread.h> void* gopthread(void* arg){while(1){printf("pthread is running\n");sleep(1…

你了解的spring框架有哪些

列举一些重要的Spring模块&#xff1f; Spring Core&#xff1a; 基础,可以说 Spring 其他所有的功能都需要依赖于该类库。主要提供 IOC 依赖注入功能。**Spring Aspects ** &#xff1a; 该模块为与AspectJ的集成提供支持。Spring AOP &#xff1a;提供了面向方面的编程实现。…

【翻译】Qt Designer自定义控件简介

原文链接&#xff1a;Using Custom Widgets with Qt Widgets Designer Qt Designer 可以通过其可扩展的插件机制显示自定义控件&#xff0c;允许用户和第三方扩展定义控件的范围。或者&#xff0c;也可以使用现有的控件作为提供类似 API 的控件类的占位符。 处理自定义控件 尽…

app端文章列表查询-详细教程(上)

app端文章列表查询 一、数据库方面 有关文章的表垂直拆分成了三张表&#xff1a;文章基本信息表&#xff08;字段有文章id、文章作者、文章标题、发布时间等&#xff09;、文章配置表&#xff08;字段有文章id、文章是否可评论、文章可转发、是否已下架、是否已删除等&#x…

Java重修笔记 TCP/IP 传输文件

服务器端 public class Homework03Server {public static void main(String[] args) throws IOException {// 接收文件名, 从磁盘中找到该文件发过去// 监听 9999ServerSocket serverSocket new ServerSocket(9999);System.out.println("开始监听端口 9999 ");// …

STM32CubeIDE(Eclipse)Post-build steps添加带参.exe实现全流程(2):带参调用.exe的几种方法

0 工具准备 STM32CubeIDE工程 带参.exe1 前言 使用STM32CubeIDE编译生成了二进制镜像文件后&#xff0c;有时为了防止镜像被恶意修改&#xff0c;可以通过添加校验和来对整个镜像进行保护&#xff0c;实现手段就是在STM32CubeIDE工程Post-build steps中调用一些外部程序来为镜…

Qml-CheckBox的使用

Qml-CheckBox的使用 CheckBox属性 CheckBox的继承关系&#xff1a; CheckBox – AbstractButton – Control – Item; CheckBox的属性主要继承于AbstractButton。属性checkState&#xff1a;勾选状态&#xff0c;值为&#xff1a;Qt.Unchecked、Qt.Checked、Qt.PartiallyChec…

docker配置mysql8报错 ERROR 2002 (HY000)

通过docker启动的mysql&#xff0c;发现navicat无法连接&#xff0c;后来进入容器内部也是无法连接&#xff0c;产生以下错误 root9f3b90339a14:/var/run/mysqld# mysql -u root -p Enter password: ERROR 2002 (HY000): Cant connect to local MySQL server through socket …

【C++、数据结构】二叉排序树(二叉查找树、二叉搜索树)(图解+完整代码)

目录 [⚽1.什么是二叉排序树] [&#x1f3d0;2.构建二叉排序树] [&#x1f3c0;3.二叉排序树的查找操作] [&#x1f94e;4.二叉排序树的删除] [&#x1f3b1;5.完整代码] ⚽1.什么是二叉排序树 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是…

vue3--实现瀑布流-长列表-懒加载

前言 在这一章我们主要学习&#xff1a;瀑布流、长列表、懒加载等功能 瀑布流组件 数据格式 [{"tags": ["all","home","desire","pets"],"_id": "62208123fb7e8b6da85b7dfe","photoLink":…

代码随想录算法训练营Day38 | 62. 不同路径、63. 不同路径 II

目录 62. 不同路径 63. 不同路径 II 62. 不同路径 题目 62. 不同路径 - 力扣&#xff08;LeetCode&#xff09; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到…

免费开源的微信开发框架

近年来&#xff0c;随着人工智能技术的快速发展&#xff0c;聊天机器人在各个领域得到了广泛的应用。在社交媒体中&#xff0c;自动回复成为了一个流行的功能&#xff0c;让用户可以方便地与机器人进行互动。gewe框架&#xff0c;一个开源的微信聊天机器人框架&#xff0c;实现…