vue组件内部引入外部js文件的方法

之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位。如果放在index.html,这样每个组件都会有这个js。所以需要在组件内单独引入。

第一种操作 Dom引入js:


`export` `default` `{`
`mounted() {`
`const s = document.createElement(``'script'``);`
`s.type =` `'text/javascript'``;`
`s.src =` `'你的需要的js文件地址'``;`
`document.body.appendChild(s);`
`},`
`}`

第二种使用 createElement 方法:

`export` `default` `{`
`components: {`
`'remote-js'``: {`
`render(createElement) {`
`return` `createElement(`
`'script'``,`
`{`
`attrs: {`
`type:` `'text/javascript'``,`
`src:` `'你的需要的js文件地址'``,`
`},`
`},`
`);`
`},`
`},`
`},`
`}`

// 使用 <remote-js></remote-js> 在页面中调用

|

第三种封装一个组件:

importJs.js

`// 导入外部js`
`import Vue from` `'vue'`
`Vue.component(``'remote-script'``, {`
`render:` `function` `(createElement) {`
`var` `self =` `this``;`
`return` `createElement(``'script'``, {`
`attrs: {`
`type:` `'text/javascript'``,`
`src:` `this``.src`
`},`
`on: {`
`load:` `function` `(event) {`
`self.$emit(``'load'``, event);`
`},`
`error:` `function` `(event) {`
`self.$emit(``'error'``, event);`
`},`
`readystatechange:` `function` `(event) {`
`if` `(``this``.readyState ==` `'complete'``) {`
`self.$emit(``'load'``, event);`
`}`
`}`
`}`
`});`
`},`
`props: {`
`src: {`
`type: String,`
`required:` `true`
`}`
`}`
`});`
`// 引入`
`import` `'common/importJs.js'`
`// 使用`
`<remote-script src=``"[https://pv.sohu.com/cityjson?ie=utf-8](https://pv.sohu.com/cityjson?ie=utf-8)"``></remote-script>`

[图片上传失败...(image-481058-1618146301090)]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容