VUE兄弟组件之间传值,Vue.prototype.bus = new Vue(),this.bus.$on 的使用方法

举个例子:

组件一中有个分享按钮,点击分享按钮,展示组件二中的分享组件;

组件二分享组件有个取消按钮,点击关闭分享组件。

一、在main.js中添加一个bus实例:

Vue.prototype.bus = new Vue()

二、分享按钮 加点击事件;把这个true值传给组件二;

<a href="#" 
   class="wap-zl-share"
   @click="sharecl">
</a>

<script>
export default {
  data () {
    return {
      'iscancle': true
    }
  },
  methods: {
    sharecl () {
      this.bus.$emit('sharecl', this.iscancle)
      // console.log(this.iscancle)
    }
  },
}
</script>

三、默认组件二的分享组件为隐藏;组件二分享组件接受组件一传过来的值;点击取消按钮iscancle改为false

<div class="wapshare"
       v-show="iscancle">
       我是分享内容
       <p class="share_cancle"
         @click="cancle">取消</p>
</div>
<script>
export default {
  data () {
    return {
      'iscancle': false,
    }
  },
  created () {
    this.bus.$on('sharecl', iscancle => {
      this.iscancle = iscancle
    })
  },
  methods: {
    cancle () {
      this.iscancle = false
      // console.log(iscancle)
    }
  },
}
</script>

是不是很简单呀!加油呀!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值