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

9 篇文章 1 订阅
订阅专栏

简介

本文内容简介:

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

如有好的方法,也欢迎留言。谢谢!

1. 新建/导入js文件到指定位置

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

在这里插入图片描述

2. 编写test.js文件

2.1 编写js文件中的方法
function jsTest1 () {
  console.log('jsTest1:vue组件中的test()方法调用了我!')
}
2.2 module.exports 导出方法
module.exports = {
  jsTest1
}

3. vue 组件中使用

3.1 引入test.js文件
import test from '../../../static/js/test'
3.2 在methods中定义方法调用
  methods: {
    test () {
      // 调用外部js中的jsTest1()方法
      test.jsTest1()
    }
  }

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

此处分为两种可能:

  1. 方式一:vue组件中的方法先调用外部js 中的方法,外部js再调用vue组件中其它方法。
  2. 方式二:外部js直接调用vue组件中的方法。
4.1 方式一(传参)
4.1.1 vue组件调用方法时传this参数
  methods: {
    test () {
      // 调用外部js中的jsTest2() 方法,并传入【this】作为参数
      test.jsTest2(this)
    }
  }
4.1.2 外部js方法中接受参数

test.js

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

组件中定义test1()方法

  methods: {
    test () {
      // 调用外部js中的jsTest2() 方法,并传入【this】作为参数
      test.jsTest2(this)
    },
    test1 () {
      console.log('test1():我被外部js调用了!')
    }
  }
4.2 方式二
4.2.1 方法赋值给window

vue中组件:

  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()调用

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

5. 外部主js文件调用其它js中的方法

5.1 引入a.js和b.js文件

test.js文件:

let a = require('./a.js')
let b = require('./b.js')
5.2 编写a.js和b.js文件

a.js

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

module.exports = {
  aTest1
}

b.js


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

module.exports = {
  bTest1
}
5.3 调用a.js和b.js文件方法

test.js:

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


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

module.exports = {
  aTest1
}

b.js


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

module.exports = {
  bTest1
}

test.js

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
}

组件中的代码

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. 结果

在这里插入图片描述

vue项目中在外部js文件中直接调用vue实例的方法比如说this
10-17
主要介绍了vue项目中在外部js文件中直接调用vue实例的方法比如说this,需要的朋友可以参考下
外部js文件中直接调用vue文件中自定义的方法
枫陵的博客
11-17 3658
【代码】在外部js文件中直接调用vue文件中自定义的方法
uniapp vite3 require导入commonJSjs文件方法
最新发布
weixin_42333548的博客
09-06 986
在Vite 3中,你可以通过配置vite.config.js来实现导入CommonJS(CJS)风格的模块。Vite 默认支持ES模块导入,但如果你需要导入CJS模块,可以使用特定的插件,比如@originjs/vite-plugin-commonjs。然后就可以在项目里面使用require引入,使用module.exports导出了,如下案例。vite3 导入commonJS 方式导出。然后,在uniapp项目根目录新建。
外部js调用vue实例方法
这是我的博客
08-30 1万+
vue函数 mounted () { window.testFun = this.testFun; // 方法赋值给window }, methods: { // vue内部方法 testFun () { }, } 外部js调用 <script> function test() { testFun(); // 直接通过w...
外部js怎么调用vue中methods的方法
qq_41547882的博客
02-24 1万+
所谓的 外部js,可以是 .js文件,也可以是 .html文件; vue 中的 methods方法 也就是 .vue文件里的 methods属性下的方法. 当 原生jsvue中methods的方法不在同一个文件下,js调用vue中methods的方法,操作如下: //.vue文件里的代码 export default { name: 'home', mixins: [mainMixin], data: function () { return {...}}, computed
vue3在外部js文件调用vue内的方法
qq_52959651的博客
03-31 6939
需求就是我在vue项目里有一个a.js文件,我想在a.js文件里调用b.vue里的test方法。 直接上代码 a.js export default { hotmockobjId: function () { //逻辑代码 ....... //调用b.vue方法名 test() } } b.vue import {defineComponent, onMounted} from 'vue'//引入方法 setup() { onMounted(() => {
vue组件内部引入外部js文件的方法
11-21
本篇将详细介绍三种在Vue组件内部引入外部js文件的方法。 1. 操作DOM引入JS: 这是最简单直接的方式,通过在`mounted`生命周期钩子中动态创建`<script>`标签并将其插入到DOM中。这种方法的代码如下: ```...
vue.js引入外部CSS样式和外部JS文件的方法
10-17
当你需要在Vue组件中使用某些JavaScript库(比如动画库Velocity.js)时,可以将该库的脚本文件放置在项目的`src`目录下,并在需要该库的Vue组件内通过ES6的import语句进行导入。例如,假设你已经创建了一个`velocity...
vue引用外部JS的两种种方法
10-15
Vue.js作为一种流行的前端框架,允许开发者通过多种方式在项目中引用外部JavaScript库或者自定义脚本。...对于Vue引用外部JS的详细参考,本文已经进行了详细介绍,相信会给需要的朋友们提供有价值的参考。
vue引用外部JS,并调用JS文件中的方法
qq_39236283的博客
12-09 7001
vue引用外部JS,并调用JS文件中的方法
vue引入js
qq_33304139的博客
08-27 587
1.引入自己定义的 js 如下存在这样一个两个方法js文件 下面这个js文件分为两部分,主要为方法部分,和导出部分即export部分,只有这样才能被其他vue组件调用 1.1 js代码如下 //定义的常量 const config = { baseurl:'http://172.16.114.5:8088/MGT2' } //定义的方法 function getTest2() { var elm=document.getElementById("text"); elm.innerHTML="
vue引入js
Emily_Susu的博客
09-11 246
1.先找到package.json文件 在dependencies中添加 "jquery": "^3.4.1", 2.执行yarn add jquery 3.在main.js文件中引入需要的jq
vue2引入外部js文件
2201_75717822的博客
10-30 466
先得暴露,才能引入,使用export 暴露。1.在js文件尾部使用export暴露。2.使用import引入vue文件中。
Vue2引入外部js文件
晴臻
12-29 2194
Vue2引入外部js文件
vue2引入外部js文件(以hammer.js为例)
阿友的专栏
11-21 1万+
之前一篇博客写了怎么让vue用hammer封装触摸事件 但是怎么把外部的这个hammer.js文件融入vue-cil中呢? 下面是步骤 基本命令: vue init webpack hxammerdemo cd hxammerdemo/ cnpm install 新建红框内的js目录和 hammer.js文件(这个文件就是hammer.min.js内容复制进去的) 和 t
vue引入vuejs插件
LuckyMon的博客
03-19 3933
第一步:install ,手动下载,自定义插件,网址访问 一般的vue或是js插件,通常都可以直接install,然后进行下一步。但是不排除各种原因install失败,需要手动下载。还有一部分是自定义的插件。 第二步:引入 install ,手动下载,自定义插件: 这三部分一般推荐使用全局引入或是单独引入的方式,具体如下: js全局引入 main.js文件添加 import Loading fro...
Vue 引入js文件并使用
热门推荐
授人以渔的博客
01-24 2万+
1.处理js文件,注意格式,一定要export,否则获取到的为null 2.在Vue引入js import allinfo from "../../../../static/js/allinfo .js"; 3.使用js中的数据 vardata= allinfo.属性名称;
VUE外部调用vue里面methods的方法
weixin_44450506的博客
06-09 3123
外部js调用vue方法 将methods里面定义的方法, 需要赋值给window,外部js就可以调用
写文章

热门文章

  • vue组件内引入外部js, 外部js调用组件内的方法 26144
  • vue中使用canvas 21440
  • vue中使用web serial api实现串口通信 8724
  • js控制上下箭头的切换 4523
  • 点表格某行,js动态添加CSS样式,样式增加与删除 3817

分类专栏

  • 记事本
  • Git 1篇
  • 串口 1篇
  • 小程序 1篇
  • SpringBoot 1篇
  • springboot + vue 7篇
  • Java
  • CSS 2篇
  • VUE 9篇
  • 文章
  • JSP 1篇

最新评论

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

    weixin_46756774: 不建议用window.这种方式,如果页面多了,window.下面的对象会越来越多,而且销毁不掉。

  • git 忘记切换分支,误将代码commit到了别的分支的解决方法

    只想躺平的咸鱼: 谨慎操作第2步,我现在又要重新写了表情包

  • iview table i18n切换时表格列名不会跟着变化

    weixin_45889471: 不好使啊

  • 【Springboot+Vue】做一个权限管理后台(六):用户凭证与登出

    yanmo_01: 为什么userService.add方法找不到

  • vue中使用web serial api实现串口通信

    不纯的猿: 能连接串口读不到数据显示全部都是null

最新文章

  • 七窍通六窍
  • git 忘记切换分支,误将代码commit到了别的分支的解决方法
  • vue中使用web serial api实现串口通信
2023年1篇
2022年1篇
2021年3篇
2020年13篇
2019年2篇
2018年3篇

目录

目录

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳坪山网站建设公司清镇网站优化推广seo网站前台代码优化沁阳外贸网站优化怎么选四川快速网站优化北京网站整站优化优化网站咨询量延安网站seo优化价格河北网站排名优化费用梁平区网站seo优化排名广州专业网站seo优化徐州网站建设优化宣传滨湖区电商网站设计优化价格网站优化价格盐城网站优化营销公司南昌县网站优化建设网站怎么用外链优化十堰企业网站优化山东靠谱的网站优化测试广州企业网站优化公司如何苏州企业网站优化莱芜营销型网站优化公司网站推广优化卩金苹果专业阝城厢网站优化免费咨询站长网站怎么优化北京网站优化托管eo网站关键词优化是什么恩施网站用户体验优化浙江省网站优化厂商杭州网站自然排名优化枣庄企业网站关键词优化哪家好香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化