A simple wrapper for integrating lottie-web into VueJs
lottie-vuejs
lottie-vuejs is currently in development! Use in production environment at your own risk.
lottie-vuejs is a simple VueJS wrapper for lottie-web. It encompasses critical lottie-web functionality into an vue component plugin. Utilize lottie-vuejs to quickly and almost effortlessly bring lottie functionality into your VueJS project.
Why Lottie?
Lottie is a mobile library for Web, and iOS that parses Adobe After Effects animations exported as json with Bodymovin and renders them natively!
Designers can create and ship beautiful animations without an engineer painstakingly recreating it by hand. They say a picture is worth 1,000 words so here are 13,000:
Flexible After Effects features
Lottie supports solids, shape layers, masks, alpha mattes, trim paths, and dash patterns.
Manipulate your animation any way you like
You can go forward, backward, and most importantly you can program your animation to respond to any interaction.
Small file sizes
Bundle vector animations within your app without having to worry about multiple dimensions or large file sizes. Alternatively, you can decouple animation files from your app’s code entirely by loading them from a JSON API.
Install
Add to lottie-vuejs to your project
npm install --save lottie-vuejs
Install lottie-vuejs globally
# Install globally (recommended)
npm install -g lottie-vuejs
Add to global scope
import Vue from 'vue'
import LottieAnimation from 'lottie-vuejs' // import lottie-vuejs
Vue.use(LottieAnimation); // add lottie-animation to your global scope
new Vue({
render: h => h(App)
}).$mount('#app')
OR
<script>
import LottieAnimation from 'lottie-vuejs' // import lottie-vuejs
export default {
components: {
LottieAnimation
},
data: () => ({
...
})
};
</script>
Usage
Basic
<lottie-animation
path="path/to/your/lottie-animation.json"
/>
Advanced
<lottie-animation
path="path/to/your/lottie-animation.json"
:loop="false"
:autoPlay="true"
:loopDelayMin="2.5"
:loopDelayMax="5"
:speed="1"
:width="256"
:height="256"
@AnimControl="setAnimController"
/>
Configuration
- path:
The relative path to the animation object (starts in your public folder) e.g.animations/my-cool-animation.json
or an absolute path e.g.http://www.mysite.com/animations/my-cool-animation.json
. - speed:
type: Number
required: false
default: 1 - width:
type: Number
required: false
default: -1 //defaults to 100%, Number is in pixels - height:
type: Number
required: false
default: -1 //defaults to 100%, Number is in pixels - loop:
type:Boolean
required: false
default: true - autoPlay:
type:Boolean
required: false
default: true - loopDelayMin:
type: Number
required: false
default: 0 - loopDelayMax:
type: Number
required: false
default: 0 - @AnimControl:
type: Event
required: false
Returns the lottie-web animation controller for custom event hookup & direct access to the lottie instance. Read the lottie-web usage section for more info
build
Running the build script results in 3 compiled files in the dist
directory, one for each of the main
, module
, and unpkg
properties listed in your package.json file. With these files generated, you're ready to go!