$ npm install vue-animate-number
import Vue from 'vue'
import VueAnimateNumber from 'vue-animate-number'
Vue.use(VueAnimateNumber)
<template>
<div>
<animate-number
from="1"
to="10"
duration="1000"
easing="easeOutQuad"
:formatter="formatter"
></animate-number>
<!-- parseInt as default formatter -->
<animate-number from="1" to="10"></animate-number>
<!-- manually start animation by click -->
<animate-number ref="myNum" from="0" to="10" mode="manual" :formatter="formatter"></animate-number><br>
<button type="button" @click="startAnimate()"> animate! </button>
</div>
</template>
<script>
export default {
methods: {
formatter: function (num) {
return num.toFixed(2)
},
startAnimate: function () {
this.$refs.myNum.start()
}
}
}
</script>
more
easing
effects: https://github.com/jeremyckahn/shifty/blob/master/src/easing-functions.jsmore examples: https://github.com/wangdahoo/vue-animate-number/blob/master/index.html
<animate-number
mode="auto"
duration="1000"
:from="from"
:to="to"
from-color="#44CC00"
to-color="#ec4949"
:formatter="formatter"
:animate-end="animateEnd">
</animate-number>
prop name | type | description | default | required |
---|---|---|---|---|
mode | string | auto or manual , trigger animation immediately or not |
auto |
N |
from | number | value, at which animate starts | - | Y |
to | number | value, at which animate ends | - | Y |
fromColor | string | start color for gradient, in hex format | - | N |
toColor | string | end color for gradient, in hex format | - | N |
formatter | Function | value formatter for number in every step during the animation | parseInt |
N |
animateEnd | Function | callback after animation | - | N |