下载tween.js
npm install --save @tweenjs/tween.js
以下是写好的vue组件
<template>
<span>{{numTween}}</span>
</template>
<script>
import TWEEN from '@tweenjs/tween.js'
export default {
name: 'Tween',
props: {
num: {
type: [Number, String],
default: 0
},
t: {
type: Number,
default: 1000
}
},
data () {
return {
numTween: 0
}
},
methods: {
changeNum(newValue, oldValue){
new TWEEN.Tween({
number: oldValue
})
.to({
number: newValue
}, this.t)
.onUpdate(tween => {
this.numTween = tween.number.toFixed(0)
})
.start();
function animate() {
if (TWEEN.update()) {
requestAnimationFrame(animate);
}
}
animate()
}
},
watch: {
num (newValue, oldValue) {
this.changeNum(newValue, oldValue)
}
},
created() {
this.changeNum(this.num, 0)
}
}
</script>
num: 需要过渡的数字,支持动态数字
t: 过渡时间,单位毫秒
版权声明:本文为weixin_43840202原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。