Vue mixin factory to tween component numerical data (using Tween.js).
npm install vue-mixin-tween
To tween a component prop, e.g. width
:
import VueMixinTween from 'vue-mixin-tween';
export default {
props: {
width: Number,
},
mixins: [
VueMixinTween('width'),
],
// this.widthTween now available in your component
// update width to new value, and widthTween will tween from the old to the new
};
Component property to watch for changes. Tweened property available on component context at ${propName}Tween
.
Duration of tween.
Easing function to tween value with.
Please send a pull request if you'd like to improve the project.
This project borrows heavily from Animating State with Watchers from the vue docs. It basically just moves that example into a reusable mixin.