【Uniapp,Vue】阻止父元素事件覆盖子元素事件

有个需求,点击一个元素,让弹出框显示,点击弹出框以外的区域,就关闭弹出框,如下代码所示。

但是这样有个问题,就是当弹出框显示以后,点击弹出框的区域也会触发父元素的点击事件,使得ifshow=false

html 复制代码
<view @click="ifshow=false">
	<view @click="ifshow=true">
		点击显示弹出框
	</view>
	<view v-if="ifshow">
		弹出框
	</view>
</view>

解决方法: 在子组件事件加个修饰stop,就会相互隔绝父子事件

html 复制代码
<view @click="ifshow=false">
	<view @click.stop="ifshow=true">
		点击显示弹出框
	</view>
	<view v-if="ifshow">
		弹出框
	</view>
</view>
相关推荐
Tyler_120 小时前
iOS PlayWright mcp server
前端·ios·ai编程
嘟嘟071720 小时前
从零理解 MCP:手写一个本地 MCP Server 并接入 LangChain Agent
前端·后端
cocoafei20 小时前
GPT-5.6 后,别再混淆 ChatGPT 和 Codex 额度了
前端·人工智能·chatgpt
你怎么知道我是队长20 小时前
JavaScript的函数介绍
开发语言·前端·javascript
weedsfly20 小时前
观察者模式 vs 发布-订阅模式:从概念到实战,一次讲清楚
前端·javascript·面试
暗不需求20 小时前
手写 AJAX:从 XMLHttpRequest 到封装一个简易 axios
前端·面试
cxxcode20 小时前
CSS Loader 与样式处理链路
前端·css
电商API_1800790524720 小时前
电商ERP 自动同步订单功能实现拆解与技术手段
服务器·前端·网络·爬虫
cxxcode20 小时前
CSS 隔离与 qiankun 样式问题总结
前端
__sjfzllv___20 小时前
在职前端Leader学习/转行 AI Agent -DAY3
前端