Vue 使用eventBus 实现兄弟组件间的通讯

实现方式:  主要是在相互通讯的兄弟组件之中,都引入一个新的vue实例,而后经过分别调用这个实例的事件触发事件广播 和监听来实现通讯和参数传递。vue

需求: a页面tree的增删改后,数据仍是以前的老数据,要求b页面的tree的数据也要更新。ios

A页面: 绑定事件,并经过eventBus.$emit触发。axios

 增长 window.eventBus.$emit('getTreeData',1)
 getTreeData(){ // 获取节点数据
      window.eventBus.$emit('getTreeData',1)
      axios.get('getpro/getTree')
      .then((res) => {
        if(res.data.retCode === '200'){
          this.Opt = Vue.formatTreeData3(res.data.data)
    },

 

B页面: created或者mounted里调用,使用eventBus.$on接收。this

    window.eventBus.$on('getTreeData',()=>{
      this.getTreeData()
    })
相关文章
相关标签/搜索