当前位置: 首页 > news >正文

Vue3:defineOptions中inheritAttrs透传的用法和使用场景

场景:在vue的父组件使用子组件时,子组件写了某些属性(如:class、style、id和监听器@click 等),但并未被props和emit声明接收,这些属性和事件被称为 “透传属性”。Vue 会自动将这些透传属性绑定到子组件的根节点上。

<!-- MyButton.vue (子组件) --> <template> <div> <button>点击我</button> </div> </template> <!-- 在Parent.vue 父组件中使用--> <MyButton @click="handleClick" /> 默认情况下:由于 MyButton 没有声明 class 和 @click,Vue 会自动把它们透传到根节点 <div> 上。渲染出的 DOM 变成: <div @click="handleClick"> <button>点击我</button> </div> 出现问题: 问题来了: 1、样式错乱:本意是想让 large 类名作用在内部的 <button> 上,结果却作用到了外层的 <div> 上。 2、事件错位:点击按钮时希望触发事件,但点击div的空白区域也会触发事件。 如何避免 使用 defineOptions 关闭自动透传到根节点,手动精准透传到期望的内部元素上 <!-- MyButton.vue (子组件优化版) --> <script setup> 1、使用 defineOptions 关闭自动透传 defineOptions({ inheritAttrs: false // 关键点:告诉Vue不要自动把透传属性绑到根
http://www.jsqmd.com/news/1100295/

相关文章:

  • OpenDog开源四足机器人:从零构建仿生机械狗的完整实践指南
  • Claroty 是如何保障 半导体产线 工控系统网络安全 与 合规落地?
  • 基于YOLOv8与MediaPipe的AI课堂行为分析系统实战指南
  • SpringBoot+Vue智慧停车场项目从零部署与核心模块解析
  • 终极TFT游戏助手:3大核心功能彻底改变你的云顶之弈体验
  • Uptime Kuma 监控通知全攻略:Telegram、飞书、企业微信、PagerDuty 深度配置
  • 开源AI音频插件终极指南:5步安装OpenVINO智能音频处理工具
  • 浅谈车膜老化问题:怎样贴才能用得更长久
  • 国家护网HVV高频面试题总结来了(题目+回答)
  • 02构建Agent的主流框架工具
  • LocalAI 和Ollama 功能、使用场景对比
  • AI代码助手选型指南(2024年最新版):ChatGPT-4o、Cursor、Tabnine、CodeWhisperer、Sourcegraph Cody——5大工具性能压测与团队落地成本分析
  • 终极指南:如何让老旧Android电视焕发新生,打造流畅直播体验
  • 【学习记录】Week2(五):对抗与伪装——反调试检测与 ptrace 绕过实战
  • Unity GPU 合批优化详解
  • 市场正规的画册设计公司口碑
  • 互联网医院系统实现诊疗服务的闭环管理
  • MiMo免费体验金
  • WebRTC远程屏幕共享:浏览器直连桌面的终极解决方案
  • Python爬虫经典案例013:爬虫数据存储方案MongoDB——文档型数据库的数据管理艺术
  • 零基础谷歌收录排查问题:外贸站常见5个坑
  • Temperature:AI 的“脑洞旋钮”
  • 成教 / 专升本论文不会写?笔墨 AI 流程化引导,零基础也能搭好论文框架
  • 七大排序算法全解析:从插入到三路快排,手把手带你掌握核心思想与实战陷阱
  • Obsidian+AI+飞书:搭建一个会自进化的知识库
  • 货架图像识别系统需要哪些核心能力?从5层链路拆解技术选型
  • 独立站搭建平台有哪些?外贸官网、跨境商城和开源方案对比
  • 计算机Java毕设实战-基于 SpringBoot 的棋牌馆收银计费管理系统的设计与实现 基于 SpringBoot 的棋牌室会员消费管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • GHelper终极指南:如何让华硕笔记本性能翻倍,告别臃肿控制中心
  • 2026智能门锁行业白皮书:42%投诉增长背后的核心消费警示