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

茅侃侃
TA贡献1842条经验 获得超22个赞
楼上算一种方案。如果你引入的JS不好获得当前实例的引用,比如你用单文件组件,那么可以在组件mount的时候把方法暴露到全局环境下//Vueexportdefault{mounted(){window.someMethod=this.doSomething.bind(this);},}//在另一个JS里someMethod();不过这样会导致不同的类深度耦合,属于badsmell。所以除非要做jsonp回调之类,最好不要使用。可以考虑用全局对象广播和捕获事件。比如://Vueexportdefault{mounted(){document.body.addEventListener('some-event',this.onSomeEvent.bind(this));}}//别的jsconstevent=newCustomEvent('some-event');document.body.dispatchEvent(event);
添加回答
举报
0/150
提交
取消