gpt4 book ai didi

javascript - 如何防止/停止 vuejs 中的点击传播

转载 作者:搜寻专家 更新时间:2023-10-30 22:34:27 25 4
gpt4 key购买 nike

我有一个递归列表(树),每个元素都有一个 @click="sayHello(el.id)"。现在的问题是,因为它是一个嵌套列表,例如:

list-element-0-01
├──list-el-1-01
│ └──list-el-2-01
└──list-el-1-02
└──list-el-2-02

如果我点击元素:list-el-2-01 然后我得到输出

 > "list-el-2-01"
> "list-el-1-01"
> "list-el-0-01"

完全按照这个顺序。我的意思是我明白了,看看 html:

<ul>
<li @click="sayHello('list-el-0-01')"> one-one

<ul>
<li @click="sayHello('list-el-1-01')"> two-one
<ul>
<li @click="sayHello('list-el-2-01')"> three-one </li> // I click this
</ul>
</li>

<li @click="sayHello('list-el-1-02')"> two-two
<ul>
<li @click="sayHello('list-el-2-02')"> three-two </li>
</ul>
</li>
</ul>

</li>
</ul>

我还以某种方式单击了所有环绕元素,这是有道理的。我的问题 - 有没有办法只让 exact 元素触发它的点击事件?

最佳答案

您可以使用 .stop 事件修饰符停止传播:

@click.stop="sayHello"

现在事件不会传播到父级

有关事件修饰符列表的更多信息:https://v2.vuejs.org/v2/guide/events.html#Event-Modifiers

关于javascript - 如何防止/停止 vuejs 中的点击传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47513095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com