vue.js 组件监听

一、在通过点击事件触发的子组件中:

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

posted @ 2017-09-27 15:08  karila  阅读(907)  评论(0编辑  收藏  举报