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 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
Dec 28 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
Oct 20 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
Jan 07 Javascript
基于豆瓣API+Angular开发的web App
Jan 02 Javascript
JS实现仿苹果底部任务栏菜单效果代码
Aug 28 Javascript
详解Document.Cookie
Dec 25 Javascript
JavaScript程序中实现继承特性的方式总结
Jun 24 Javascript
浅谈JavaScript中的分支结构
Jul 01 Javascript
Web打印解决方案之普通报表打印功能
Aug 29 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
Sep 02 Javascript
jQuery的deferred对象使用详解
Sep 25 Javascript
jquery一键控制checkbox全选、反选或全不选
Oct 16 jQuery
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
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
php计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
PHP中的表达式简述
2016/05/29 PHP
js兼容的placeholder属性详解
2013/08/18 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
vue之nextTick全面解析
2017/05/17 Javascript
jQuery中extend函数简单用法示例
2017/10/11 jQuery
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
vue使用代理解决请求跨域问题详解
2019/07/24 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
JavaScript 生成唯一ID的几种方式
2021/02/19 Javascript
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
python使用epoll实现服务端的方法
2018/10/16 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
2021/02/01 Python
医院护士的求职信
2014/01/03 职场文书
疾病防治方案
2014/05/31 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
独生子女证明范本
2015/06/19 职场文书
婚宴新郎致辞
2015/07/28 职场文书
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL
我的收音机情缘
2022/04/05 无线电