SoFunction
Updated on 2025-04-04

Detailed explanation of the steps to integrate and use the Lottie animation library in Vue project

Step 1: Install Lottie

First, the Lottie package needs to be installed. In a Vue project, you can use npm or yarn for installation:

npm install lottie-web
# oryarn add lottie-web

Step 2: Introduce Lottie

Introduce the Lottie package in components that require Lottie:

// 

<template>
  <div>
    <lottie
      :options="lottieOptions"
      :width="400"
      :height="400"
    />
  </div>
</template>

<script>
import Lottie from 'lottie-web';
import animationData from './path/to/your/';

export default {
  data() {
    return {
      lottieOptions: {
        loop: true,
        autoplay: true,
        animationData: animationData,
      },
    };
  },
  mounted() {
    this.$nextTick(() => {
      // Initialize Lottie animation      const lottieInstance = ();
    });
  },
};
</script>

<style>
/* Styles can be added to adjust the position and size of the animation */
</style>

In the above code,animationDataIt is your animation JSON data, which can be usedBodymovin pluginExport the After Effects animation to JSON.

Step 3: Adjust parameters and styles

existlottieOptionsIn this article, you can set various parameters to control the behavior of the animation, such as whether it loops, whether it automatically plays, etc. At the same time, you can adjust the position and size of the animation through CSS in the style sheet to suit your page layout.

/*  */

<style>
.lottie {
  margin: 20px auto; /* Adjust the position of the animation */
}
</style>

Step 4: Lottie's main configuration parameters

Lottie provides a range of configuration parameters so that you can customize and control the behavior of animations. Here are the main configuration parameters of Lottie and how to use them:

1. container

containerParameters are used to specify the container element that the animation will be inserted into the page. It can be a DOM element or a CSS selector string for selecting elements.

Example:

// Use DOM elements as containerconst container = ('animation-container');

// Or use the CSS selector stringconst container = '#animation-container';

// Initialize Lottie animationconst animation = ({
  container: container,
  /* Other configuration parameters... */
});

2. renderer

rendererParameters are used to specify the type of the renderer, and commonly used ones are "svg" and "canvas".

Example:

const animation = ({
  container: '#animation-container',
  renderer: 'svg', // or 'canvas'  /* Other configuration parameters... */
});

3. loop

loopParameters are used to specify whether the animation is played loop. Set totrueWhen the animation is played, the animation will be played loop all the time.

Example:

const animation = ({
  container: '#animation-container',
  loop: true,
  /* Other configuration parameters... */
});

4. autoplay

autoplayThe parameter is used to specify whether the animation will be automatically played after loading is completed. Set totrueWhen the animation will start playing immediately after loading.

Example:

const animation = ({
  container: '#animation-container',
  autoplay: true,
  /* Other configuration parameters... */
});

5. path

pathThe parameter is used to specify the path or URL of the animation JSON file. It can be a relative path or an absolute path.

Example:

const animation = ({
  container: '#animation-container',
  path: 'path/to/',
  /* Other configuration parameters... */
});

6. rendererSettings

rendererSettingsParameters are used to include setting options for a specific renderer.

Example:

const animation = ({
  container: '#animation-container',
  rendererSettings: {
    clearCanvas: true, // Clear the canvas on every frame  },
  /* Other configuration parameters... */
});

7. animationData

animationDataParameters allow you to pass animation data directly as JavaScript objects to Lottie. Can be used to embed animation data directly instead of loading from a file.

Example:

const animationData = {
  /* Specific content of animation data */
};

const animation = ({
  container: '#animation-container',
  animationData: animationData,
  /* Other configuration parameters... */
});

8. name

nameThe parameter is used to assign a name to the animation.

Example:

const animation = ({
  container: '#animation-container',
  name: 'myAnimation',
  /* Other configuration parameters... */
});

9. speed

speedParameters are used to control the playback speed of the animation. 1 indicates normal speed, 0.5 indicates half speed, and 2 indicates twice the speed.

Example:

const animation = ({
  container: '#animation-container',
  speed: 1.5, // Playback speed is 1.5 times the original  /* Other configuration parameters... */
});

10. Event callback

Lottie also supports performing some custom actions through event callbacks, such asonCompleteonLoopCompleteonEnterFramewait.

Example:

const animation = ({
  container: '#animation-container',
  loop: true,
  onComplete: () => {
    ('The animation is finished!  ');
  },
  /* Other configuration parameters... */
});

By flexibly using these parameters, you can customize your animations to better meet the needs of your project.

Step 5: Run the project

Finally, make sure your Vue project is running in a Lottie-enabled environment. Start the project and view the effect in the browser:

npm run serve
# oryarn serve

accesshttp://localhost:8080(The specific port may vary), you should be able to see the embedded Lottie animation play normally.

in conclusion

Through these steps, we add a compelling interaction to the Vue project, enhancing the user experience. Lottie's power and ease of use make it a breeze to integrate animations in your project. Hope this article helps you with Lottie in your Vue project. Cleverly use animations in the application to allow users to experience a more pleasant interactive experience.

The above is a detailed explanation of the steps to integrate and use the Lottie animation library in the Vue project. For more information about the Vue Lottie animation library, please pay attention to my other related articles!