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中prototype为对象添加属性的误区介绍
Oct 15 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
Sep 01 Javascript
JavaScript实现数字数组正序排列的方法
Apr 06 Javascript
JavaScript实现删除,移动和复制文件的方法
Aug 05 Javascript
vue,angular,avalon这三种MVVM框架优缺点
Apr 27 Javascript
JS控制静态页面传递参数并获取参数应用
Aug 10 Javascript
Vue.js每天必学之表单控件绑定
Sep 05 Javascript
JS中用try catch对代码运行的性能影响分析
Dec 26 Javascript
浅析Vue自定义组件的v-model
Nov 26 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
Dec 24 jQuery
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
Apr 20 Javascript
node.js如何操作MySQL数据库
Oct 29 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
Destoon实现多表查询示例
2014/08/21 PHP
php二维数组合并及去重复的方法
2015/03/04 PHP
微信利用PHP创建自定义菜单的方法
2016/08/01 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
用js计算页面执行时间的函数
2006/12/07 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
原生JS实现旋转木马式图片轮播插件
2016/04/25 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
2016/05/18 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
js实时获取窗口大小变化的实例代码
2016/11/18 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
Vue2.0如何发布项目实战
2017/07/27 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
送你43道JS面试题(收藏)
2019/06/17 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
在VUE中实现文件下载并判断状态的方法
2019/11/08 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
Python3实现生成随机密码的方法
2014/08/23 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
Python 常用string函数详解
2016/05/30 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
融资租赁计划书
2014/04/29 职场文书
一体化教学实施方案
2014/05/10 职场文书
道德模范事迹材料
2014/12/20 职场文书
会议欢迎词范文
2015/01/27 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript