VUE3----数字增加,兼容小程序, 组件封装

数字增加,兼容小程序, 组件封装

<template>
	<view>{
  
  {props.prefix}}{
  
  { displayValue }}{
  
  {props.suffix}}</view>
</template>

<script setup>
	import {
		ref,
		onMounted,
		onUnmounted
	} from 'vue';
	import {
		requestAnimationFrame,
		cancelAnimationFrame
	} from '@/utils/base/requestAnimationFrame'

	const props = defineProps({
		start: {
			type: Number,
			default: 0
		},
		end: {
			type: Number,
			required: true
		},
		duration: {
			type: Number,
			default: 2000
		},
		prefix: {
			type: String,
			default: '',
		},
		suffix: {
			type: String,
			default: '',
		},
	});

	let timer = ''
	const frame = 1000 / 60 // 16.7
	const displayValue = ref(props.start);

	const startCount = () => {
		if (timer) {
			clearInterval(timer);
		}

		let step = (props.end - props.start) / (props.duration / frame);
		step = step > 0 ? Math.ceil(step) : Math.floor(step);

		timer = setInterval(() => {
			if 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值