先写一个事件绑定
这段代码点击Child是没有作用的
这是因为当我给一个组件绑定一个事件的时候,<child @click="handleClick"></child>,这个实际上绑定的是一个自定义的事件
当你鼠标点击的时候,触发的并不是这个click事件
当我点击的时候,就能够触发childclick事件
这是因为当我在div里面绑定事件<div @click="handleChildClick">Child</div>是原生的事件,在child里面绑定的事件
<child @click="handleClick"></child>是自定义事件
那么我现在想要触发这个自定义事件,需要在通过this.$emit来触发自定义事件
就有click出来了
执行逻辑是:首先当你点击了div元素的时候,div会监听<div @click="handleChildClick">Child</div>到自身被点击了,然后向外触发this.$emit('click');了一个自定义事件,然后在组件中<child @click="handleClick"></child>监听了这个自定义事件,那么这个自定义事件就会被执行
当然这样写太过麻烦:
我就想在child上监听原生事件,可不可以呢?可以的
@click.native="handleClick"在自定义事件后面添加一个native就会变成监听原生事件了