当前位置: 首页 > 知识库问答 >
问题:

如何将外部 JS 脚本添加到 VueJS 组件中?

崔涵亮
2023-03-14

我必须为支付网关使用两个外部脚本

现在两者都放在index.html文件中。

但是,我不想在一开始就加载这些文件。

仅当用户打开特定组件(使用路由器视图)时,才需要支付网关。

有办法实现这一点吗?

谢谢你。

共有3个答案

长孙景焕
2023-03-14

使用webpack和vue loader,您可以这样做

它在创建组件之前等待外部脚本加载,因此组件中提供了全局变量

components: {
 SomeComponent: () => {
  return new Promise((resolve, reject) => {
   let script = document.createElement('script')
   script.onload = () => {
    resolve(import(someComponent))
   }
   script.async = true
   script.src = 'https://maps.googleapis.com/maps/api/js?key=APIKEY&libraries=places'
   document.head.appendChild(script)
  })
 }
},
颛孙庆
2023-03-14

我已经下载了一些HTML模板,其中包含自定义js文件和jquery。我必须将这些js附加到我的应用程序中。并继续Vue。

找到这个插件,这是通过CDN和静态文件添加外部脚本的干净方法https://www.npmjs.com/package/vue-plugin-load-script

// local files
// you have to put your scripts into the public folder. 
// that way webpack simply copy these files as it is.
Vue.loadScript("/js/jquery-2.2.4.min.js")

// cdn
Vue.loadScript("https://maps.googleapis.com/maps/api/js")
邢鸿博
2023-03-14

解决这个问题的一种简单而有效的方法是将外部脚本添加到组件的vue

<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>

来源:https://medium . com/@ lassiuosukainen/how-to-include-a-script-tag-on-a-vue-component-Fe 10940 af9e 8

 类似资料:
  • 问题内容: 我必须为支付网关使用两个外部脚本。现在,两者都放入文件中。但是,我不想在一开始就加载这些文件。仅在用户打开特定组件()时才需要支付网关。 反正有实现这个目标的方法吗? 问题答案: 解决此问题的一种简单有效的方法是将外部脚本添加到组件的Vue中。我将用GoogleRecaptcha脚本向您说明:

  • 问题内容: 我想添加到我的反应组件 我知道我可以简单地使用JSX添加它,但我不知道如何使用它, 例如,此脚本具有一个称为A.Sort()的函数,如何调用它并从组件中使用它? 问题答案: 您可以异步加载脚本并在加载时访问它。 它应该附加到。 要么

  • 我有一个Hadoop作业,其中映射器必须使用外部jar。 我试图将这个jar传递给映射器的JVM 通过hadoop命令上的-libjars参数 via作业。addFileToClassPath HADOOP_CLASSPATH。 这些方法都不起作用。这是我得到的堆栈跟踪。它抱怨的缺失类是SparseDoubleMatrix1D在colt.jar. 如果我需要提供任何其他调试信息,请告诉我。谢谢

  • 我很喜欢这个从http://www.jqueryscript.net/time-clock/modern-circular-jquery-countdown-timer-plugin-final-countdown.html下载的倒计时脚本,想把它用到我的wordpress网站上,我读了一些关于如何在wordpress中放入任何脚本的教程,但是我不能完全理解,因为我是新手,你能帮我一步一步地做吗

  • 问题内容: 因此,我试图使用jquery的$ .getScript远程加载javascript,但是我对如何将数据传递到外部脚本感到困惑。 我已经尝试在调用之前设置变量,但是在加载的脚本中不可用,并且当我尝试使用查询字符串发送/检索它们时,远程脚本会尝试读取其基本文件的查询字符串从而不是本身被调用。还有其他方法吗?还是有可能让javascript文件读取自己的查询字符串,而不是从其调用的文件中读取

  • 这个标题非常接近如何在IntelliJ IDEA中添加外部库?以及将外部jar(lib/*.jar)添加到IntelliJ IDEA项目的正确方法。然而,我已经检查过了。 在“如何在IntelliJ IDEA中添加外部库?”,我不能很好地理解最佳答案的含义,也不能很好地理解在评论空间中提出相同问题的人。所以,有人给了他一个回答,显示了“向IntelliJ IDEA项目添加外部jar(lib/*.j