怎么在Vue中全局引入pubsub.js?
每次想要使用pubsub.js的时候都要在要使用的组件引入一遍,一是感觉好麻烦,二是感觉复用性不好,所以我按照自己个人之前在Vue中全局引入其他插件的方法,想到了,在Main.js文件中,“import Pubsub from ‘pubsub-js’”,然后使用Vue.use来达到全局使用的目的,但是发现不管用,求大神踩下坑,指点下,谢谢。
2 回复
可以直接用vue定义一个bus
bus.js
import Vue from 'vue'
const bus = new Vue()
export default bus
main.js
...
import bus from 'path/bus.js/
Vue.prototype.$bus = bus
...
使用
// 广播
this.$bus.$emit('eventName', args)
// 监听
this.$bus.$on('eventName', function (args) {
// todo something...
})
// main.js
import pubSubJS from 'pubsub-js';
Vue.prototype.pubSubJS = pubSubJS;
如果你想使用Vue.use()来加载的话,你需要自己提供一个 install方法,例如
// util.js
export default {
install(Vue, options) {
Vue.prototype.pubSubJS = pubSubJS;
}
}
// 在main.js
import util from './util';
Vue.use(util)
你可以在其他组件内使用 this.pubSubJS.xx来使用