位置: IT常识 - 正文

Vue组件中如何引入外部的js文件(vue 组件调用)

编辑:rootadmin
Vue组件中如何引入外部的js文件

推荐整理分享Vue组件中如何引入外部的js文件(vue 组件调用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue怎么使用组件,vue引用子组件,vue 组件调用,vue引入插件方法,vue如何引用组件,vue引用子组件,vue引用子组件,vue怎么使用组件,内容如对您有帮助,希望把文章链接给更多的朋友!

https://zhuanlan.zhihu.com/p/379504188

背景 在Vue中,通常我们引入一个js插件都是使用npm 方式下载然后import使用的。但是我现在本地有了js文件或者是一个远程js文件链接,我不想使用npm install xxx 的方式,有什么办法吗?

方式一 简单粗暴,直接在Vue项目的index.html 中使用全局的方式引入,比如:

<title>测评</title><link type="text/css" href="//at.alicdn.com/t/font_43459_d124thd3lgu.css" rel="stylesheet">{{ie9 /resources/js/history.min.js}}

// 暴力引入 缺点:不使用该js插件的组件也会加载,而我只想在某个Vue组件中使用该js插件。

方式二 如果是下载到本地的静态文件,可以使用import 的方式导入。

import { xxx } from ‘…/js/xxx.js’ //注意路径 缺点:下载的本地静态文件才可以,远程js文件不可以。

方式三 在Vue组件加载完后,手动操作DOM插入js插件。

export default { mounted() { let script = document.createElement(‘script’); script.type = ‘text/javascript’; script.src = ‘你的js文件地址’; document.body.appendChild(script); }, } 该方式直接操作DOM,只在当前组件插入js插件。

方式四 使用render方法。

Vue组件中如何引入外部的js文件(vue 组件调用)

export default { components: { ‘xxx-js’: { render(createElement) { return createElement( ‘script’, { attrs: { type: ‘text/javascript’, src: ‘你的js文件地址’, }, }, ); }, }, }, } // 使用 在页面中调用 使用的时候,使用 在页面中调用。

方式五 高阶玩法。将方式三包装成一个js插件,使用 Promise,js加载成功,调用resolve,js加载失败,调用reject。

function loadJs(src) { return new Promise((resolve,reject)=>{ let script = document.createElement(‘script’); script.type = “text/javascript”; script.src= src; document.body.appendChild(script);

script.onload = ()=>{ resolve();}script.onerror = ()=>{ reject();}

}) }

export default loadJs 使用的时候:

import loadJs from ‘./loadJs’

export default { mounted(){ loadJs(‘http://api.map.baidu.com/xxx.js’).then(()=>{ // 加载成功,进行后续操作 }) } } 方式六 更高阶方式。可以动态替换要加载的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.KaTeX parse error: Expected 'EOF', got '}' at position 30: …vent); }̲, error…emit(‘error’, event); }, readystatechange: function (event) { if (this.readyState == ‘complete’) { self.$emit(‘load’, event); } } } }); }, props: { src: { type: String, required: true } } }); 使用方式:

// 引入 import ‘common/importJs.js’

// html使用的地方

(完)

本文链接地址:https://www.jiuchutong.com/zhishi/298535.html 转载请保留说明!

上一篇:Vue3 京东到家项目实战第一篇(首页及登录功能开发) 进阶式掌握vue3完整知识体系(京东到家的物流模式)

下一篇:Vue|获取表单数据(vue获取value值)

  • 员工交个人所得税对公司有什么影响
  • 金税四期怎么监控银行流水
  • 供电车间工人薪酬计入什么科目
  • 销售费用变动率税收政策
  • 货物和运费一起开票怎么开
  • 企业之间无偿借款
  • 托收承付的逾期怎么处理
  • 企业固定资产折旧当月增加当月计提吗
  • 可供出售金融资产新准则叫什么
  • 全年累积盈利交所得税吗?
  • 当月销项税大于进项税怎么办
  • 注销公司方便吗
  • 嵌入式软件收入算制造业收入吗
  • 计提未发放的工资是否交个税
  • 折扣发票有什么作用
  • 转股交印花税的优惠政策
  • 销项负数票需要把之前的票退回吗
  • 上月预付款项 这月开了发票会计分录
  • 关联方之间借款利息怎么开票
  • 房地产项目代建模式
  • 应交增值税未认证怎么办
  • 仓库存在不足
  • 前期费用会计分录
  • 以前年度损益调整借贷方向
  • win7旗舰版系统怎么样
  • php读取word
  • 税款滞纳金会计科目
  • 以旧换新的概念
  • 新会计准则计入管理费用的税费
  • 供热企业税收优惠政策
  • php的图片
  • php写的代码怎么运行
  • 私企股权转让程序
  • rcnn系列详解
  • timedatectl命令用法
  • yii2框架漏洞
  • 事业单位新会计制度固定资产
  • atq命令 显示用户待执行任务列表
  • 未开票收入为负数是什么意思
  • 外商独资企业资本金要求
  • 邮电局上级部门
  • C语言中次方怎么表示
  • 现金支出的账务处理
  • 新成立的小公司财务怎么管理
  • sql 集合运算符
  • 利润计算公式是什么折扣
  • 公对公退款是不是很麻烦
  • 企业自查发现以什么为主
  • 运费发票如何做分录
  • 营改增后计算土地增值税收入公式
  • 纸质承兑汇票怎么兑现步骤
  • 弥补以前年度亏损后缴纳所得税
  • 法人章和财务章尺寸
  • 未达起征点怎么报税
  • 满减送的购物券在哪里看
  • sqlserver中with(nolock)深入分析
  • mysql5717安装过程
  • Win10预览版怎么变回正式版
  • ubuntu安装哪个版本
  • Win10预览版桌面图标和任务栏不翼而飞怎么办?
  • 安装软件时提示无法访问网络位置
  • win10周年版
  • 网卡破解
  • 基于linux的mplayer音乐播放器
  • win10预览版桌面图标和任务栏不翼而飞怎么办?
  • win7账户不见了
  • unity 虚拟摇杆
  • unity 3d书籍
  • Unity3D游戏开发pdf
  • checkbox1
  • nodejs.
  • linux多进程编程实例
  • Android spinner 的使用
  • 批处理for /f
  • javascriptj
  • android 图形引擎
  • 云南省电子税务
  • 买车险代收车船税合法吗
  • 江苏灵活就业医保交多少年
  • 内蒙古包头税务局客服电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设