vue组件内引入外部js, 外部js调用组件内的方法

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 立即下载
AI摘要

本文详细介绍了如何在Vue组件中引入并调用外部JavaScript文件中的方法,包括通过`import`导入、模块导出、使用`window`全局对象以及在不同场景下异步加载和调用其他js文件中的函数。

简介

    本文内容简介:

        vue组件中引入外部js,并调用外部js 中的方法
        外部js 中调用vue组件中的方法
        外部js引入其它外部js

如有好的方法,也欢迎留言。谢谢!
1. 新建/导入js文件到指定位置

    test.js 为主js文件,里面引入了a.js和b.js文件

在这里插入图片描述
2. 编写test.js文件
2.1 编写js文件中的方法

1

2

3

function jsTest1 () {

  console.log('jsTest1:vue组件中的test()方法调用了我!')

}


2.2 module.exports 导出方法
 

1

2

3

module.exports = {

  jsTest1

}


3. vue 组件中使用
3.1 引入test.js文件
 

1

import test from '../../../static/js/test'

3.2 在methods中定义方法调用

 

1

2

3

4

5

6

methods: {

    test () {

      // 调用外部js中的jsTest1()方法

      test.jsTest1()

    }

  }


4. 外部js调用vue组件中的方法

    此处分为两种可能:

        方式一:vue组件中的方法先调用外部js 中的方法,外部js再调用vue组件中其它方法。
        方式二:外部js直接调用vue组件中的方法。

4.1 方式一(传参)
4.1.1 vue组件调用方法时传this参数

 

1

2

3

4

5

6

methods: {

    test () {

      // 调用外部js中的jsTest2() 方法,并传入【this】作为参数

      test.jsTest2(this)

    }

  }

4.1.2 外部js方法中接受参数

test.js
 

1

2

3

4

5

function jsTest2 (that) {

  console.log('jsTest2:vue组件中的test()方法调用了我, 我要调用vue组件中的test1()方法')

  // 调用组件中的test1()方法

  that.test1()

}


组件中定义test1()方法

 

1

2

3

4

5

6

7

8

9

methods: {

    test () {

      // 调用外部js中的jsTest2() 方法,并传入【this】作为参数

      test.jsTest2(this)

    },

    test1 () {

      console.log('test1():我被外部js调用了!')

    }

  }


4.2 方式二
4.2.1 方法赋值给window

vue中组件:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

mounted () {

    window.test2 = this.test2

  },

  methods: {

    test () {

      // 调用外部js中的jsTest2() 方法,并传入【this】作为参数

      test.jsTest2(this)

    },

    test1 () {

      console.log('test1():我被外部js调用了!')

    },

    test2 () {

      console.log('*******test2():我被外部js调用了!*****')

    }

  }



4.2.2 window调用

外部js文件test.js: 使用 window.test2()调用
 

1

2

3

4

function jsTest1 () {

  window.test2()

  console.log('jsTest1:vue组件中的test()方法调用了我!')

}

5. 外部主js文件调用其它js中的方法
5.1 引入a.js和b.js文件

test.js文件:

1

2

let a = require('./a.js')

let b = require('./b.js')

 
5.2 编写a.js和b.js文件
 

1

2

3

4

5

6

7

a.js

function aTest1 () {

  console.log('aTest1:test.js中的jsTest3()方法调用了我!')

}

module.exports = {

  aTest1

}


b.js

1

2

3

4

5

6

function bTest1 () {

  console.log('bTest1:test.js中的jsTest4()方法调用了我!')

}

module.exports = {

  bTest1

}

5.3 调用a.js和b.js文件方法

test.js:
 

1

2

3

4

5

6

7

8

9

10

11

12

function jsTest3 () {

  console.log('jsTest3:vue组件中的test()方法调用了我, 我要调用a.js中的aTest1()方法')

  a.aTest1()

}

function jsTest4 () {

  console.log('jsTest4:vue组件中的test()方法调用了我, 我要调用b.js中的bTest1()方法')

  b.bTest1()

}

module.exports = {

  jsTest3,

  jsTest4

}

6. 完整代码如下

a.js

1

2

3

4

5

6

function aTest1 () {

  console.log('aTest1:test.js中的jsTest3()方法调用了我!')

}

module.exports = {

  aTest1

}

b.js

1

2

3

4

5

6

function bTest1 () {

  console.log('bTest1:test.js中的jsTest4()方法调用了我!')

}

module.exports = {

  bTest1

}

test.js
 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

let a = require('./a.js')

let b = require('./b.js')

function jsTest1 () {

  window.test2()

  console.log('jsTest1:vue组件中的test()方法调用了我!')

}

function jsTest2 (that) {

  console.log('jsTest2:vue组件中的test()方法调用了我, 我要调用vue组件中的test1()方法')

  that.test1()

}

function jsTest3 () {

  console.log('jsTest3:vue组件中的test()方法调用了我, 我要调用a.js中的aTest1()方法')

  a.aTest1()

}

function jsTest4 () {

  console.log('jsTest4:vue组件中的test()方法调用了我, 我要调用b.js中的bTest1()方法')

  b.bTest1()

}

module.exports = {

  jsTest1,

  jsTest2,

  jsTest3,

  jsTest4

}

组件中的代码
 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

export default {

  name: '',

  data () {

    return {}

  },

    mounted () {

    window.test2 = this.test2

  },

  methods: {

    test () {

      // 调用外部js中的jsTest1()方法

      test.jsTest1()

      // 调用外部js中的jsTest2() 方法,并传入【this】作为参数

      test.jsTest2(this)

      test.jsTest3()

      test.jsTest4()

    },

    test1 () {

      console.log('test1():我被外部js调用了!')

    },

    test2 () {

      console.log('*******test2():我被外部js调用了!*****')

    }

  }

}


7. 结果

图片.png

vue项目中在外部js文件中直接调用vue实例的方法比如说this 主要介绍了vue项目中在外部js文件中直接调用vue实例的方法比如说this,需要的朋友可以参考下 立即下载

相关推荐

vue引用外部JS的两种种方法

主要介绍了vue引用外部JS的两种种方案,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

Vue组件中如何引入外部的js文件

Vue组件中如何引入外部的js文件

qq_35271388的博客 2万+

从原理到接法全面了解三相电

从原理到接法全面了解三相电

viixin的博客 1万+

vue引入外部js文件并调用其中的方法

vue引入外部js文件并调用其中的方法 最近写vue项目,由于刚接触vue这个框架,所以在写代码的时候也是遇到了一些问题,比如本文所提到的引入js文件,话不多说直接上: 这里是所引入的外部js文件的位置 第一种引入方式:export default 方法(在main.js中引入) export default { los: function() { console.log('js外部被调用') } } 这是common.js文件中的代码 import los from '@/assets

lchuyan的博客 2万+

基于Matlab-Simulink的大林算法控制系统设计与振铃消除实验

本文详细介绍了基于Matlab-Simulink的大林算法控制系统设计与振铃消除实验。通过分析纯滞后系统的控制难题,探讨大林算法在工业控制中的应用优势,并提供Matlab-Simulink环境搭建、控制器D(z)设计、振铃消除及仿真实验的完整流程。文章还对比了大林算法与PID控制的性能差异,为工程实践提供参考。

dropout6artist的博客 794

Android音频输出流实战:从AudioFlinger到HAL层的完整调用链解析

本文深入解析了Android音频输出流的完整调用链,从应用层的AudioTrack和AAudio API,到系统服务AudioFlinger的混音调度,最终抵达硬件抽象层(HAL)。文章结合实战经验,探讨了如何利用底层机制优化音频延迟、处理设备切换,并提供了性能调优与问题排查的具体方法,是开发高性能音频应用的实用指南。

weixin_29208327的博客 251

vue页面引入外部js文件遇到的问题

问题一:vue文件中引入外部js文件的方法 //在vue文件中 <script> import * as funApi from '../../../publicJavaScript/publicFun.js';//这里如果有多个方法的话也引用一次就可以了 //import {test,test2,test3} from '../../../publicJavaScri...

weixin_30273763的博客 2617

Windows本地部署Qwen3-14B实战指南:Ollama+Open WebUI零Docker方案

大语言模型本地部署是AI工程化落地的关键环节,其核心在于推理框架兼容性、硬件加速适配性与端到端稳定性。Ollama作为轻量级模型运行时,原生支持Windows DirectML与CUDA,规避了Docker/WSL2虚拟化开销和llama.cpp编译风险;Qwen3-14B则凭借128K上下文、Tool Calling原生支持及中文长文本结构化能力,成为政务、金融等场景首选。本文聚焦Windows平台真实约束——显存阈值、驱动版本匹配、路径编码兼容、离线知识库集成(RAG)等工程细节,提供经63台Windo

weixin_32136203的博客 412

vue:如何使用js文件里的方法

在vue文件里调用js文件里的方法,如果js文件里还有其他方法,都是使用this.$urlParse.来调用即可。首先,js文件里的方法必须加export前缀,否则其他文件没有访问权限。在需要使用方法的地方,直接使用即可,不需要加this之类的前缀。直接在vue文件里引入方法方法,记得给方法名称加{}.2、main.js里全局引入。1、vue文件里局部引入。

cdd9527的博客 6920

主升浪潜伏主图指标公式 提前潜伏,持仓待涨,通达信炒股指标公式

浙江世宝,第一次出现信号2022年6月1日,当日冲高回落,收涨3.48%,随后涨涨突破前高,回踩后出现第二次主升潜伏信号,时间2022年6月13日,当日收涨9.46%,后市连续涨停,走出12连板行情。九安医疗,第一次出现信号,黄色文字,当日2021年11月1日,涨幅0.19%,第二次出现信号一字涨停,没机会买进,第三次是T字,需要手快,后市连续上涨,接近20倍的大牛股。启明信息,突破区间后的回踩转涨位置出现信号,时间2021年11月29日,当日涨幅1.14%,次日爆发,波段涨幅152.65%。

weixin_69760830的博客 1877

【教程4>第6章>第3节】LS信道估计与均衡系统MATLAB仿真实现

1]姬国伟,葛利嘉,龙秀虹.基于LS信道估计的SC-FDE系统性能研究[J].军事通信技术, 2010(1):6.DOI:CNKI:SUN:JSTY.0.2010-01-013.在无线通信中,信号在空间传播时,随着传输距离增加,能量会逐渐扩散,导致信号幅度减小,即发生衰减。第四个图表示的是提取的信道估计值,可以看到,在不插值的前提下,得到的信道估计值基本接近真实的信道h。从第五个图可知,通过信道估计,对接收信号进行了校正和补偿。信道模型,先通过awgn加入噪声,然后乘以hreal,模拟通过信道。

FPGA/MATLAB学习教程/源码/项目合作开发 386

Vue引入外部js变量和方法

外部js文件 //定义变量或常量 const name ='张三' //定义方法test function test () { const text="Hello World" alert(text) } //导出设置使得Vue可引入,关键 export { test, name } Vue组件 <template> <div> {{name}} <button @click='handle'>点击</button>

m0_49471668的博客 3311

ICC2:postmask ECO参考脚本

更多学习内容请关注「拾陆楼」知识星球。

m0_61544122的博客 882

nuxtjs在vue组件中引入单独js文件内的vue不是同一个,vue.prototype.$Spin是undefined

nuxtjs引入的 js 文件中,想要在axios拦截器中使用iview的spin组件做出提示,但是这里通过`import Vue from "vue";`引入vue对象,使用iview内置全局`$Spin`方法,报错`Vue.prototype.$Spin`是undefined。若在上面的vue组件中使用`this.$Spin`却是正常的。

weixin_44679078的博客 1459

第二大脑的觉醒:一个寄生在代码里的小生命,如何悄无声息地接管我的工作流

所有记忆都存在本地。

步子哥的博客 1060

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

在vue中引入外部的css文件

在vue中引入外部的css文件 在项目的src文件下,新建一个style文件夹,存放css文件。 1. 全局引入 将外部的css文件放到style文件下,引入外部文件只需在main.js文件中 import './style/reset.css' 我引入的是清除默认样式的css文件 2. 局部引入 &lt;style scoped&gt; @import '../assets/ico......

web前端学习总结 9万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Vue 组件中如何引入外部的js文件 的10种方法

原型链扩展,将外部的JavaScript文件扩展到Vue实例的原型链上,适用于多个组件都需要使用外部JavaScript文件的情况。这种方法可以将外部JavaScript文件的方法和属性混入到所有的Vue组件中,使得所有的组件都可以使用这些方法和属性。标签中使用插件的方式异步引入外部的JavaScript文件,适用于需要按需加载外部JavaScript文件的情况。方法,异步引入外部的JavaScript文件,适用于需要按需加载外部JavaScript文件的情况。语句的路径指定具体的文件位置。

一步一个脚印,踏实努力,向着目标前进 2万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Vue项目中如何引入外部js文件,并使用其中定义的函数

Vue项目中如何引入外部js文件,并使用其中定义的函数 一些常用的功能函数,我们希望将其封装起来放入一个外部JS文件中,好方便我们在需要的时候使用。vue可以使用import指令引入外部文件,但是作为新手,在使用过程中难免会导致很多错误,这里就将我遇到的一些问题做一下总结 编写外部js文件 这个比较简单,就正常将我们需要使用的功能函数安装js格式写入js文件即可 需要注意的是,当我们希望在vue项...

云间月 3万+

vue实例中调用外部js_vue中引入外部js方法实例

我们在做vue项目时,经常会需要引入js,常用的有以下几种。本文主要和大家分享vue中引入外部js方法实例,希望能帮助到大家。第一种import XX from “路径”Vue.use(XX);这里的js文件要导出用export default {Vue.proprtypes.aa=function(){}}第二种js文件没有用export default{}直接就是纯方法解决:可以在main.j...

weixin_42464967的博客 3060

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

之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位。如果放在index.html,这样每个组件都会有这个js。所以需要在组件内单独引入。第一种操作 Dom引入js:export default {mounted() {const s = document.createElement('script');s.type = 'text/javascript';s.src = '你的需要的j...

weixin_39739170的博客 1596

vue引入外部文件_vue.js怎么引入外部js文件?

vue.js怎么引入外部js文件?下面本篇文章给大家介绍一下vue组件内部引入外部js文件的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。vue组件内部引入外部js文件的方法之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位。如果放在index.html,这样每个组件都会有这个js。所以需要在组件内单独引入。第一种操作 Dom引入js:export defaul...

weixin_39606177的博客 1576

vue.js引入css和js,vue.js引入外部CSS样式和外部JS文件的方法

vue.js引入外部CSS样式和外部JS文件的方法学习Vue.js动画时,需要引入一个animate.css,如何全局引入外部文件呢?一.引入外部CSS样式文件1. 在app.vue中下直接引入对应的路径使用@import引入外部css,作用域是全局的,也可在相应的单vue组件引入,import并不是引入代码到里面,而是发起新的请求获得样式资源,并且没有加scoped。@import "../st...

weixin_42400074的博客 7107

Vue组件引入外部的js文件的某方法或者静态数据

遇到问题 我们有时候会把一些公共方法写到一个单独的js文件,这样方便多处使用该方法,也很方便找到或者修改方法。 例:我们在写项目的时候会遇到加载本地城市列表的数据,如果放到vue组件里,是极其的不方便,我们来看看怎么解决这个问题。 解决方法 引入js的某个方法 方法一 1.在公共js里写方法并export导出。 export function add(a) { let b = 2; return a+b; } 2.在组件 import 引入。 import { add } from '../.

AnnaF的博客 7703
上一篇: Vue组件中如何引入外部的js文件
下一篇: img对象,file对象,base64,canvas对象相互转换以及图片压缩
springdk2009
博客等级 码龄17年 1835粉丝 257原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值