为了账号安全,请及时绑定邮箱和手机立即绑定

vue项目中引入外部js,怎么在外部js中执行当前页中methods里的方法

vue项目中引入外部js,怎么在外部js中执行当前页中methods里的方法

弑天下 2019-05-22 21:57:01
vue项目中引入外部js,怎么在外部js中执行当前页中methods里的方法
查看完整描述

2 回答

?
茅侃侃

TA贡献1842条经验 获得超22个赞

楼上算一种方案。
如果你引入的JS不好获得当前实例的引用,比如你用单文件组件,那么可以在组件mount的时候把方法暴露到全局环境下
//Vue
exportdefault{
mounted(){
window.someMethod=this.doSomething.bind(this);
},
}
//在另一个JS里
someMethod();
不过这样会导致不同的类深度耦合,属于badsmell。所以除非要做jsonp回调之类,最好不要使用。可以考虑用全局对象广播和捕获事件。
比如:
//Vue
exportdefault{
mounted(){
document.body.addEventListener('some-event',this.onSomeEvent.bind(this));
}
}
//别的js
constevent=newCustomEvent('some-event');
document.body.dispatchEvent(event);
                            
查看完整回答
反对 回复 2019-05-22
?
www说

TA贡献1775条经验 获得超8个赞

varvm=newVue({
methods:{
hello(){
console.log('hello')
}
}
})
vm.hello()
                            
查看完整回答
反对 回复 2019-05-22
  • 2 回答
  • 0 关注
  • 3031 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号