码迷,mamicode.com
首页 > 其他好文 > 详细

vue 事件总线(bus)

时间:2020-02-28 15:53:16      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:index   nbsp   页面   span   事件总线   事件   rip   des   cli   

1.全局引入bus

Vue.prototype.$bus = new.Vue()

2.组件间传值使用(在发送事件时接收组件会实时接收到, 可以用做兄弟组件间相互传值, 但页面跳转组件间有问题 通过$emit发送,$on接收)

<div style="float: left; width: 15%; height: 100%;">
         <div v-for="(item, index) in list" 
                 :key="index" 
               @click="okClick(item)">{{item.name}}</div>
</div>

methods: {
      okClick (item) {
          this.$bus.$emit(‘busClick‘, item.id)
      }
  },
 mounted() {
            console.log(‘123‘)
            this.$bus.$on(‘busClick‘, item => {
               switch (item) {
                   case ‘看下值过来没‘ :
                       this.items = ‘看下值过来没‘
                       break
                   case 1 :
                       this.items = 1
                       break
                   case 2 :
                       this.items = 2
                       break
               }
            })
        },

3.再接收组件销毁时要把事件清除掉,不然会重复发送和接收

beforeDestroy() {
  this.$bus.$off()
}

  

vue 事件总线(bus)

标签:index   nbsp   页面   span   事件总线   事件   rip   des   cli   

原文地址:https://www.cnblogs.com/wjsy/p/12377182.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!