@click触发的逻辑有修改
vue2中的子组件默认不会冒泡到父组件,所以类似于@click的方法需要在子组件内被手动返回,vue3中修复了这个bug,vue2组件的这部分需要被修改下
// vue 2中
// 子组件
<template>
<div @click="testClick">
...
</div>
</template>
<script>
...
methods: {
testClick () {
this.$emit('click')
}
}
</script>
//父组件
<template>
<子组件 @click="test">点击</子组件>
</template>
/** vue2 需要这种方式才可以在父组件内触发点击子组件的方法 其他onXXXX方法同理*/
而在vue3中copmsition api写法不需要在子组件返回子组件事件,直接在父组件正常@click即可,否则会重复触发两次绑定的方法