关于自定义的组件,如果给它添加@click,在点击这个组件时,这个回调不执行 <my-com @click="hClick"></my-com>
原因:自定义子内部并没有$emit这个click事件。 对于内置dom元素(例如div, button,p,.......) vue会自动绑定系统事件(click, mouseenter,.....),而对于普通的自定义的组件要自己处理。
作用
.native事件修饰符是用来是在父组件中给子组件绑定一个原生的事件,就将子组件变成了普通的HTML标签看待。
<!--为了解决上边的问题,可以在监听原生事件的同时,设置一个.native修饰符,这样就可以正常监听了 -->
<el-dropdown-item divided @click.native="logout">
<span style="display:block;">退出登录</span>
</el-dropdown-item>
<!--所以说:并不是所有的自定义的组件都天然能添加@click监听,如果监听不了,再补充一个.native.-->