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

前端流行框架Vue3教程:18. _组件数据传递

透传 Attributes

透传attribute指的是传递给一个组件,却没有被该组件声明为propsemitsattribute或者v-on事件监听器。最常见的例子就是class、style和id
当一个组件以单个元素为根作渲染时,透传的attribute会自动被添加到根元素上


透传 Attributes 是 Vue 的一个特性,允许父组件传递任意属性到子组件上,而无需显式声明。这在封装可复用的组件时非常有用。

步骤 1: 创建子组件

创建一个名为 AttrComponents.vue 的子组件,并定义一个模板部分:

<template><!--  必须是唯一元素  如果多了其他元素 就不生效  比如<p><h2>等--><h3>透传属性</h3>
</template>

这个组件没有显式声明任何 props 或其他属性处理逻辑。

步骤 2: 在父组件中使用子组件

在你的主组件 App.vue中导入并注册子组件 AttrComponents

<script>
import AttrComponents from "./components/AttrComponents.vue"export default {components: {AttrComponents}
}
</script><template><AttrComponents class="attr-container"/>
</template><style>
.attr-container {color: red;
}
</style>

在这个例子中,我们通过 class="attr-container" 将样式类传递给子组件。

步骤 3: 使用透传的属性

当子组件接收到这些属性时,它们会自动应用到子组件的根元素上。在上面的例子中,class="attr-container" 被应用到了 <h3> 元素上,因此 <h3> 的文字颜色将会是红色。
在这里插入图片描述

注意事项
  • 透传的属性会直接绑定到组件的根元素上。

  • 如果你在子组件中需要对属性进行更复杂的处理,可以使用 props显式声明它们。

  • 如果你不希望某些属性被自动绑定,你可以使用inheritAttrs选项来控制。

    <template><!--  必须是唯一元素  如果多了其他元素 就不生效  比如<p><h2>等--><h3>透传属性</h3>
    </template>
    <script> 
    export default {inheritAttrs:false
    }
    </script>
    

这样你就完成了一个简单的透传 Attributes 的使用示例。

但这个在实际工作中不常用的,本章只做了解即可。

相关文章:

  • LIIGO ❤️ RUST 12 YEARS
  • git相关配置
  • EJS教程
  • Pyhton训练营打卡Day27
  • 03、基础入门-SpringBoot的大时代背景
  • Java8到24新特性整理
  • Mac安装Navicat16
  • Linux运行时的参数、命令、网络、磁盘参数和日志监控
  • 产品经理入门——认识产品经理
  • 数据库--向量化基础
  • 大模型相关技术综述
  • IEEE PRMVAI 2025 IEEE PRMVAI 探索人工智能在基础设施建设应用与运维中的新挑战
  • Nextjs首屏加载速度性能从80分优化到98分
  • Python OOP核心技巧:如何正确选择实例方法、类方法和静态方法
  • 【C++】15.并发支持库
  • QML 属性动画、行为动画与预定义动画
  • Flask框架搭建
  • AI编程赛道的思考:构建商业闭环Build your business,而非仅仅是应用not only build an app
  • 嵌入式学习笔记 - STM32 ADC 模块工作模式总结
  • 基于stm32f103c8t6的宠物仿声系统管理设计
  • 长三角首次,在铁三赛事中感受竞技与生态的共鸣
  • 公元1058年:柳永词为什么时好时坏?
  • A股午后拉升,沪指收复3400点:大金融发力,两市成交超1.3万亿元
  • 王毅人民日报撰文:共商发展振兴,共建中拉命运共同体
  • 济南市委副秘书长吕英伟已任历下区领导
  • 广西壮族自治区党委政法委副书记李文博接受审查调查