如何将外部JS脚本添加到VueJS组件?
2022-08-30 00:28:24
我必须为支付网关使用两个外部脚本。
现在两者都放在文件中。index.html
但是,我不想在开始时加载这些文件。
仅当用户打开特定组件时才需要支付网关()。using router-view
有没有办法做到这一点?
谢谢。
我必须为支付网关使用两个外部脚本。
现在两者都放在文件中。index.html
但是,我不想在开始时加载这些文件。
仅当用户打开特定组件时才需要支付网关()。using router-view
有没有办法做到这一点?
谢谢。
解决这个问题的一种简单而有效的方法是将外部脚本添加到组件的vue中。我将用Google Recaptcha脚本来说明你:mounted()
<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-fe10940af9e8
我已经下载了一些带有自定义js文件和jquery的HTML模板。我不得不将这些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")