在 Vue 开发中自定义组件之后,需要往组件身上添加 click 之类的一些操作事件,但是加上之后会无效。
原因是因为没有加上 native,官网对于 native 的解释为:
.native - 监听组件根元素的原生事件。
1
因此正确的写法是:
// 无效写法
<MenuCard
shadow
:color="infor.color"
:icon="infor.icon"
:icon-size="18"
@click="ShortcutClick"
>
<p>
{{ infor.title }}
</p>
</MenuCard>
// 正确写法
<MenuCard
shadow
:color="infor.color"
:icon="infor.icon"
:icon-size="18"
@click.native="ShortcutClick"
>
<p>
{{ infor.title }}
</p>
</MenuCard>