Home > Web Front-end > JS Tutorial > How to Dynamically Load External JS Scripts in Vue.js Components?

How to Dynamically Load External JS Scripts in Vue.js Components?

Susan Sarandon
Release: 2024-11-07 03:11:02
Original
618 people have browsed it

How to Dynamically Load External JS Scripts in Vue.js Components?

Dynamically Loading External JS Scripts in Vue.js Components

When working with payment gateways, integrating external scripts that facilitate the transactions becomes necessary. However, it is often undesirable to load these scripts at the initial page load. This is where Vue.js offers a solution for dynamically loading external scripts within specific components.

To achieve this, leverage the mounted() lifecycle hook in your Vue.js component. The mounted() hook executes after the component has been mounted and inserted into the DOM. This provides an ideal opportunity to conditionally load the external script.

Consider the following example, where we dynamically load the Google ReCaptcha script:

<code class="html"><template>
  ... your HTML
</template>

<script>
  export default {
    data: () => ({
      ...data of your component
    }),
    mounted() {
      let recaptchaScript = document.createElement('script');
      recaptchaScript.setAttribute('src', 'https://www.google.com/recaptcha/api.js');
      document.head.appendChild(recaptchaScript);
    },
    methods: {
      ...methods of your component
    },
  };
</script></code>
Copy after login

By placing the external script loading logic in the mounted() hook, we ensure that the script is loaded only when the component is activated, thus preserving page performance and optimizing the user experience.

The above is the detailed content of How to Dynamically Load External JS Scripts in Vue.js Components?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template