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

Vue中的props方式

理解

props 是 Vue 中父组件向子组件传递数据的方式
props 是子组件声明的“接收清单”,告诉父组件:“我需要这些数据,请传给我”。父组件通过属性的方式把数据传给子组件,子组件通过 props 接收后就能使用

用法:

1. 子组件声明需要接收的 props
<!-- 子组件 Child.vue -->
<template><div><!-- 使用接收的 props 数据 --><p>收到的名字:{{ name }}</p><p>收到的年龄:{{ age }}</p></div>
</template><script>
export default {// 声明需要接收的 props(简单写法)props: ['name', 'age']
}
</script>
2. 父组件传递数据给子组件
<!-- 父组件 Parent.vue -->
<template><div><!-- 通过属性传递数据,属性名要和子组件 props 声明的一致 --><Child :name="parentName"  <!-- 传递变量 -->:age="18"           <!-- 直接传递字面量 -->/></div>
</template><script>
import Child from './Child.vue'
export default {components: { Child },data() {return {parentName: '张三'  // 父组件的数据}}
}
</script>

指定 props 类型和验证

为了让数据更规范,可以指定 props 的类型、默认值、是否必传等:

<script>
export default {props: {// 名字:必须是字符串,且必填name: {type: String,required: true},// 年龄:必须是数字,默认值 18age: {type: Number,default: 18},// 爱好:必须是数组hobbies: {type: Array,// 数组/对象的默认值必须用函数返回default: () => ['读书', '运动']}}
}
</script>

注意:

  • props 是单向数据流:父组件数据变化会影响子组件,但子组件不能直接修改 props(就像孩子不能直接修改父母给的东西,要改需告诉父母)。
  • 如果子组件需要修改 props,应该通过 $emit 通知父组件,由父组件修改数据。

props 就是父组件给子组件送东西的通道,子组件要先声明“要什么”,父组件再“给什么”

http://www.xdnf.cn/news/18965.html

相关文章:

  • 多模态RAG架构:下一代跨模态智能检索系统的设计与实践
  • 视频合成素材视频-多合一功能-青柠剪吧
  • OpenTenBase核心技术解密:突破OLTP与OLAP边界的分布式数据库革新
  • 【PS实战】制作hello标志设计:从选区到色彩填充的完整流程(大学PS作业)
  • 百度IOS客户端岗位--面试真题分析
  • 【Docker基础】Docker-compose进阶配置:资源限制与高可用部署
  • 中国移动云电脑一体机-创维LB2004_瑞芯微RK3566_2G+32G_开ADB安装软件教程
  • Web调用本地程序:Custom URL Scheme
  • Zookeeper(分布式RPC调用和分布式文件储存)
  • 2025年渗透测试面试题总结-35(题目+回答)
  • Radan钣金CAM解决方案在电气柜制造行业的应用案例
  • 物流配送路径规划项目方案
  • 【Doris】服务器配置
  • 深入浅出 ArrayList:从基础用法到底层原理的全面解析(下)
  • IDEA2022开启新版UI
  • 【嵌入式电机控制#进阶4】无感控制(二):观测器导论锁相环(全网最通俗易懂)
  • 【C++11】auto关键字:自动类型推导
  • MCP之weather server demo
  • 李沐-第十章-训练Seq2SeqAttentionDecoder报错
  • Leetcode top100之链表排序
  • 【ElasticSearch】json查询语法
  • 美团一面“保持好奇”
  • Spring Boot 项目打包成可执行程序
  • HTML应用指南:利用POST请求获取全国三星门店位置信息
  • Ubuntu安装及配置Git(Ubuntu install and config Git Tools)
  • Next.js 15.5.0:探索 Turbopack Beta、稳定的 Node.js 中间件和 TypeScript 的改进
  • 30.throw抛异常
  • 【图像算法 - 23】工业应用:基于深度学习YOLO12与OpenCV的仪器仪表智能识别系统
  • 【P2P】P2P主要技术及RELAY服务1:python实现
  • Kubernetes 构建高可用、高性能 Redis 集群