[前端笔记] Vue之v-on绑定监听子组件传来的事件

Vue中经常会用到v-on指令来绑定一个事件,那么它具体什么时候调用,什么时候使用呢?

父组件中使用了v-on:editItem="editObject"和v-on:removeItem="removeObject"两个监听,代码如下

 

<v-list-box:key="props.item.documentNo"slot="listBox"slot-scope="props":item="props.item":items="props.items":index="props.index"v-on:editItem="editObject"v-on:removeItem="removeObject">

 

父组件中有两个方法,名为editObject和removeObject,因为代码太长就不贴过来,大家可以随意写一点,供自己观察就行

 

子组件中代码:

html

 

<divclass="box-toolspull-right">
<buttontype="button"class="btnbtn-box-tool"data-widget="collapse"><iclass="fafa-plus"></i></button>
<buttontype="button"class="btnbtn-box-tool"@click.submit.prevent="edit"><iclass="fafa-pencil"></i></button>
<buttontype="button"class="btnbtn-box-tool"@click.submit.prevent="remove"><iclass="fafa-times"></i></button>
</div>

 

 js

 

<script>
export default {
  name: 'VListBox',
  props: ['item', 'index', 'items'],
  data () {
    return {}
  },
  methods: {
    add () {
      this.$emit('addItem')
    },
    edit () {
      // 此事件仅仅供父组件VListPage使用
      this.$parent.$emit('_editItem', this.item)

      this.$emit('editItem', this.item)
    },
    remove () {
      this.$emit('removeItem', this.item)
    }
  }
}
</script>

 

 

 

大家请看,我们子组件当执行了edit方法时,通过$emit('editItem', this.item) 这个方法去父组件中去寻找editItem这个方法,然后调用它,在父组件中editItem实现。

 

当然remove也是一样的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值