Vue中的动态组件点击事件

Mik*_*kko 5 javascript vue.js

我使用v-for以下方式渲染Vue组件:

<component
    v-for="component in components"
    :is="component.type"
    @click="myFunction(component.id)">
</component>
Run Code Online (Sandbox Code Playgroud)

单击呈现的组件不会触发该myFunction方法。但是,单击手动插入的组件可以:

<div @click="myFunction('...')"></div>
Run Code Online (Sandbox Code Playgroud)

如何纠正呢?

小智 7

添加.native修饰符以侦听本机事件,而不是组件事件。

<component
    v-for="component in components"
    :is="component.type"
    @click.native="myFunction(component.id)">
</component>
Run Code Online (Sandbox Code Playgroud)

资料来源:https : //vuejs.org/v2/api/#v-on


Sau*_*abh 0

尝试以下操作:

<template v-for="component in components">
  <component :is="component.type" @click="myFunction(component.id)" />
</template > 
Run Code Online (Sandbox Code Playgroud)