vue项目里使用bus传值

Posted yanyanliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue项目里使用bus传值相关的知识,希望对你有一定的参考价值。

首先建立一个bus.js的文件,在此文件里操作

import Vue from ‘vue‘
const Bus = new Vue()
export default Bus

然后在main.js文件里导入

import EventBus from ‘@/bus.js‘
Vue.use(EventBus)
Vue.prototype.$EventBus = EventBus

然后就可以使用了,比如在a文件里,派发这个值

this.$EventBus.$emit(‘uploading‘,‘sure‘)

在b文件里接收可以放在mounted里边

mounted() {
       this.$EventBus.$on(‘uploading‘, val=>{
       console.log(val)       //打印出来 val :sure
     })
  }

也可以派发多个值

 this.$EventBus.$emit(‘Click‘, {
        id: id,
        num:num
      })

接收

 this.$EventBus.$on(‘Click‘, ({ id,num }) => {
       console.log(id,num)        
    })

 

以上是关于vue项目里使用bus传值的主要内容,如果未能解决你的问题,请参考以下文章

vue组件中传值EventBus的使用及注意事项

vue中使用bus传值时,接收页面多次触发接收方法,多个页面公用一个bus时也会触发所有打开过的bus

兄弟组件之间传值

Vue非父子组件传值(Bus/总线/发布订阅模式/观察者模式)

vue bus组件传值

bus(总线传值-非父子间传值)