一、在通过点击事件触发的子组件中:
addCart(event) { ?if (!event._constructed) { ???return; ?} ?if (!this.food.count) { ????Vue.set(this.food, ‘count‘, 1); ?} else { ?????this.food.count++; ?}this.$emit(‘cartadd‘, event.target)},// cartcontrol.vue组件
二、在父组件中
<div class="cartcontrol-wrapper"> ?<cartcontrol :food="food" v-on:cart-add="cartAdd"></cartcontrol></div>// goods.vue组件中使用v-on来监听<shopcart ref="shopcart" ????:selectFoods="selectFoods" ???:deliveryprice="seller.deliveryPrice" ??:minprice="seller.minPrice" ?></shopcart>methods:{ ?cartadd(target) { ????// 传递给子组件 ????this.$refs.shopcart.drop(target) ?}}
三、在接收的子组件中
methods: { ???drop(el) { ???????console.log(el); ???}}// shopcart.vue组件
原文地址:http://coding.imooc.com/learn/questiondetail/3769.html
vue.js 组件监听
原文地址:http://www.cnblogs.com/karila/p/7601856.html