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

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

慕运维8079593
浏览 562回答 2
2回答

狐的传说

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

慕的地8271018

var vm = new Vue({  methods: {    hello () {      console.log('hello')    }  }})vm.hello()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript