猿问
vue项目中引入外部js,怎么在外部js中执行当前页中methods里的方法
vue项目中引入外部js,怎么在外部js中执行当前页中methods里的方法
弑天下
浏览 3032
回答 2
2回答
茅侃侃
楼上算一种方案。如果你引入的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
0
1
www说
varvm=newVue({methods:{hello(){console.log('hello')}}})vm.hello()
0
0
0
随时随地看视频
慕课网APP
相关分类
JavaScript
我要回答