我使用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
尝试以下操作:
<template v-for="component in components">
<component :is="component.type" @click="myFunction(component.id)" />
</template >
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7943 次 |
| 最近记录: |