一、在通过点击事件触发的子组件中:
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