Vue3数值动画(NumberAnimation)
效果如下图在线预览APIsNumberAnimation参数说明类型默认值from数值动画起始数值number0to数值目标值number1000duration数值动画持续时间单位msnumber3000autoplay是否自动开始动画booleantrueprecision精度保留小数点后几位number0prefix前缀stringundefinedsuffix后缀stringundefinedseparator千分位分隔符string‘,’decimal小数点字符string‘.’valueStyle数值文本样式CSSProperties{}transition动画过渡效果TransitionFunc‘easeInOutCubic’TransitionFunc Type名称值TransitionFunc‘linear’ | ‘easeOutSine’ | ‘easeInOutSine’ | ‘easeInQuad’ | ‘easeOutQuad’ | ‘easeInOutQuad’ | ‘easeInCubic’ | ‘easeOutCubic’ | ‘easeInOutCubic’ | ‘easeInQuart’ | ‘easeOutQuart’ | ‘easeInOutQuart’ | ‘easeInQuint’ | ‘easeOutQuint’ | ‘easeInOutQuint’ | ‘easeInExpo’ | ‘easeOutExpo’ | ‘easeInOutExpo’ | ‘easeInCirc’ | ‘easeOutCirc’ | ‘easeInOutCirc’ | ‘easeInBack’ | ‘easeOutBack’ | ‘easeInOutBack’Methods事件名称说明参数play播放动画() voidEvents事件名称说明参数started动画开始播放() voidfinished动画播放完成() void安装依赖pnpmaddvueuse/core创建数值动画组件NumberAnimation.vue其中引入使用了以下工具函数数字格式化 formatNumberscript setup langtsimport{ref,computed,watchEffect,onMounted,watch}fromvueimporttype{CSSProperties}fromvueimport{formatNumber}fromcomponents/utilsimport{useTransition,TransitionPresets}fromvueuse/coreexporttypeTransitionFunc|linear|easeOutSine|easeInOutSine|easeInQuad|easeOutQuad|easeInOutQuad|easeInCubic|easeOutCubic|easeInOutCubic|easeInQuart|easeOutQuart|easeInOutQuart|easeInQuint|easeOutQuint|easeInOutQuint|easeInExpo|easeOutExpo|easeInOutExpo|easeInCirc|easeOutCirc|easeInOutCirc|easeInBack|easeOutBack|easeInOutBackexportinterfaceProps{from?:number// 数值动画起始数值to?:number// 数值目标值duration?:number// 数值动画持续时间单位 msautoplay?:boolean// 是否自动开始动画precision?:number// 精度保留小数点后几位prefix?:string// 前缀suffix?:string// 后缀separator?:string// 千分位分隔符decimal?:string// 小数点字符valueStyle?:CSSProperties// 数值文本样式transition?:TransitionFunc// 动画过渡效果}constpropswithDefaults(definePropsProps(),{from:0,to:1000,duration:3000,autoplay:true,precision:0,prefix:undefined,suffix:undefined,separator:,,decimal:.,valueStyle:()({}),transition:easeInOutCubic})constsourceref(props.from)constemitsdefineEmits([started,finished])watchEffect((){source.valueprops.from})watch([()props.from,()props.to],(){if(props.autoplay){play()}})onMounted((){props.autoplayplay()})constoutputValueuseTransition(source,{duration:props.duration,transition:TransitionPresets[props.transition],onFinished:()emits(finished),onStarted:()emits(started)})functionplay(){source.valueprops.to}constshowValuecomputed((){const{precision,separator,decimal,prefix,suffix}propsreturnformatNumber(outputValue.value,precision,separator,decimal,prefix,suffix)})defineExpose({play})/scripttemplatespan:stylevalueStyle{{showValue}}/span/template在要使用的页面引入script setup langtsimportNumberAnimationfromNumberAnimation.vueimport{ref}fromvueconstvalue1ref(100000000.12345)constvalue2ref(100000000)constanimationRefref()constfromref(0)consttoref(100000000)functiononPlay(){if(value1.value||value2.value){value1.value0value2.value0}else{value1.value100000000.12345value2.value100000000}}functiononClick(){animationRef.value.play()}functiononStarted(){console.log(started)}functiononFinished(){console.log(finished);[from.value,to.value][to.value,from.value]}/scripttemplatedivh1{{$route.name}}{{$route.meta.title}}/h1br/br/Button typeprimaryclickonPlayPlay/Buttonh2classmt30 mb10基本使用/h2Statistic title一个小目标NumberAnimation:tovalue1//Statistich2classmt30 mb10精度/h2RowCol:span12Statistic title一个小目标NumberAnimation:from0.0:tovalue1:precision2//Statistic/ColCol:span12Statistic title一个小目标NumberAnimation:tovalue1:precision3//Statistic/Col/Rowh2classmt30 mb10自定义前缀后缀/h2RowCol:span12Statistic title一个小目标NumberAnimation prefix$:from0:tovalue2//Statistic/ColCol:span12Statistic title一个小目标NumberAnimation:from0:tovalue2suffix元//Statistic/Col/Rowh2classmt30 mb10自定义千分位分隔符小数点字符/h2RowCol:span12Statistic title一个小目标NumberAnimation separator;decimal,:precision2:from0:tovalue2//Statistic/ColCol:span12Statistic title一个小目标NumberAnimation separator:from0:tovalue2//Statistic/Col/Rowh2classmt30 mb10自定义样式/h2Statistic title一个小目标NumberAnimation:value-style{ fontSize: 30px, fontWeight: 600, color: #ff6900 }:from0:tovalue2//Statistich2classmt30 mb10自定义播放和动画时间/h2Space verticalButton typeprimaryclickonClick播放/ButtonStatistic title一个小目标NumberAnimation refanimationRef:fromfrom:toto:duration5000:precision2:autoplayfalsestartedonStartedfinishedonFinished//Statistic/Spaceh2classmt30 mb10自定义动画过渡效果/h2Statistic title一个小目标NumberAnimation transitioneaseInCubic:from0:tovalue2//Statistic/div/template

相关新闻

2026 Rerank 重排:为什么 AI 查得到资料,却答不对题?MonkeyCode 免费上手

2026 Rerank 重排:为什么 AI 查得到资料,却答不对题?MonkeyCode 免费上手

引子:AI 明明"查得到资料",为什么还会答错? 产品经理小夏给公司客服系统接了一套 RAG 知识库:上万条产品手册、售后 FAQ、理赔条款全部灌了进去。可上线第一天就翻车了——用户问"我的订单三天了还没发货&#xff…

2026/8/26 13:42:19 阅读更多 →
网络模糊概念和osi七层协议

网络模糊概念和osi七层协议

快速了解 一、交换机 为了组局域网,网络交换机(Switch)是一种网络设备,用于在局域网络(LAN)内传输数据包。它是计算机网络中的关键组件之一,通常用于连接多台计算机、服务器、网络设备和其他网…

2026/8/26 13:42:19 阅读更多 →
Agent技能包实战:从Prompt到可复用Skill的工程化之路

Agent技能包实战:从Prompt到可复用Skill的工程化之路

如果你最近在折腾 AI Agent,或者正在把大模型能力接进真实业务系统,大概率会遇到一个很现实的问题:模型本身越来越聪明,但真正让它稳定完成一项职业级任务,靠一段 prompt 根本不够。你需要的不只是“会聊天”&#xff…

2026/8/26 13:42:19 阅读更多 →

最新新闻

微博APP数据采集协议分析(gsid,mfp)

微博APP数据采集协议分析(gsid,mfp)

声明本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口 等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间点击头像看简介或…

2026/8/26 14:15:19 阅读更多 →
Linux - 服务器装机可用的基本操作

Linux - 服务器装机可用的基本操作

文章目录用户操作添加用户组添加用户,指定用户组修改用户密码删除用户配置 ssh 免密登录文件权限操作添加文件夹更改所属组 chgrp更改文件的所属主 chown下载依赖的 rpm 包能上网的 linux 系统上下载 rpm 包下载后上传到目标服务器防火墙配置关闭 selinux临时关闭生…

2026/8/26 14:15:19 阅读更多 →
查重过了却栽在AI率上?2026论文工具分阶段指南:初稿、查重、双降、定稿分别用什么,一篇说清

查重过了却栽在AI率上?2026论文工具分阶段指南:初稿、查重、双降、定稿分别用什么,一篇说清

又到论文季,身边不少同学都在吐槽:明明重复率已经压到5%了,导师一句"AI痕迹太重,重写",直接打回原形。 2026年的毕业论文审核,早就不是"过查重"这么简单了。现在高校普遍是三套标准并行…

2026/8/26 14:15:19 阅读更多 →
MIXRamDisk下载/注册/官网 物主锁定 激活锁 无法激活 屏幕锁工具

MIXRamDisk下载/注册/官网 物主锁定 激活锁 无法激活 屏幕锁工具

忘记iCloud的密码,是很多使用iPhone朋友经常发生的事情,平常都使用面容或者指纹解锁、安装App,久而久之,也就忘了密码,我也是一样。当然,iPhone支持重设ID密码,直接在iPhone上面就可以完成。但是…

2026/8/26 14:15:19 阅读更多 →
进程(Process)

进程(Process)

一、概念进程是操作系统资源分配的最小单元(文本段、数据段、系统数据段)进程:就是程序执行的过程,包括创建、调度和消亡,是活的程序:一段数据的集合,是死的二、常用命令ps -aux查看操作系统所有…

2026/8/26 14:15:19 阅读更多 →
VSCODE 和MSYS2配置C环境

VSCODE 和MSYS2配置C环境

参照两篇blog VS Code 配置 C/C 编程运行环境(保姆级教程)_vscode配置c环境-CSDN博客 [全网最全 C语言] VSCode 安装与配置(MSYS2的mingw-w64/GCC 编译环境) - 蓝天上的云℡ - 博客园

2026/8/26 14:14:16 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →