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