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


Posted in Javascript onJanuary 18, 2020

之所以要做这个是因为,在一个组件内部需要引入一个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"></remote-script>

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

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

Javascript 相关文章推荐
javascript 模拟JQuery的Ready方法实现并出现的问题
Dec 06 Javascript
Function.prototype.call.apply结合用法分析示例
Jul 03 Javascript
js获取本机的外网/广域网ip地址完整源码
Aug 12 Javascript
PHP守护进程实例
Mar 06 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
Jun 17 Javascript
Vue render深入开发讲解
Apr 13 Javascript
发布Angular应用至生产环境的方法
Dec 10 Javascript
详解Vue中watch对象内属性的方法
Feb 01 Javascript
jQuery动态生成的元素绑定事件操作实例分析
May 04 jQuery
node.js express框架简介与实现
Jul 23 Javascript
js+canvas实现画板功能
Sep 13 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
Nov 16 Javascript
Node.js实现批量下载图片简单操作示例
Jan 18 #Javascript
vue实现微信浏览器左上角返回按钮拦截功能
Jan 18 #Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
Jan 18 #Javascript
JS数组方法slice()用法实例分析
Jan 18 #Javascript
JS实现横向轮播图(中级版)
Jan 18 #Javascript
vue.js+ElementUI实现进度条提示密码强度效果
Jan 18 #Javascript
JS数组方法concat()用法实例分析
Jan 18 #Javascript
You might like
PHP上传文件时文件过大$_FILES为空的解决方法
2013/11/26 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
php导入大量数据到mysql性能优化技巧
2014/12/29 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
简单讲解jQuery中的子元素过滤选择器
2016/04/18 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
javascript数据类型详解
2017/02/07 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
Python实现自动发送邮件功能
2021/03/02 Python
python机器学习之贝叶斯分类
2018/03/26 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
详解python itertools功能
2020/02/07 Python
Python实现计算图像RGB均值方式
2020/06/04 Python
Python下载网易云歌单歌曲的示例代码
2020/08/12 Python
python 实现简易的记事本
2020/11/30 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
伦敦平价潮流珠宝首饰品牌:Astrid & Miyu
2016/10/10 全球购物
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
C#里面可以避免一个类被其他类继承么?如何?
2013/09/26 面试题
庆八一活动方案
2014/01/25 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
导游词之四川熊猫基地
2020/01/13 职场文书
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers