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

vue3 Props的使用

Props是什么?

官方地址:Props | Vue.js

在 Vue 中,props 是父组件向子组件传递数据的一种机制。

props 是子组件中定义的自定义属性,父组件通过这些属性向子组件传递数据。

它们是单向数据流的一部分,意味着数据只能从父组件流向子组件,而不能反过来。

定义props

在子组件中,可以通过 props 选项来定义接收的属性。props 可以是数组或对象形式。

子组件 child.vue

在使用 <script setup> 的单文件组件中,props 可以使用 defineProps() 宏来声明:

<script setup>
const props = defineProps(['foo'])
​
console.log(props.foo)
</script>

除了使用字符串数组来声明 props 外,还可以使用对象的形式:

<script setup>
const props = defineProps({title: String,likes: Number
})
​
console.log(props.foo)
</script>

对于以对象形式声明的每个属性,key 是 prop 的名称,而值则是该 prop 预期类型的构造函数。比如,如果要求一个 prop 的值是 number 类型,则可使用 Number 构造函数作为其声明的值。

对象形式的 props 声明不仅可以一定程度上作为组件的文档,而且如果其他开发者在使用你的组件时传递了错误的类型,也会在浏览器控制台中抛出警告。

监听props 自定义属性

child.vue 子组件

<script setup>
import { ref } from 'vue'
import { watchEffect,watch } from 'vue'
​
//自定义属性
const props = defineProps(['name','age']);
​
​
//监听自定义属性
watch(() => props.name,(newVal,oldVal) => {console.log("----监听name---- newVal:" + newVal,"oldVal:" + oldVal);
})
watch(() => props.age,(newVal,oldVal) => {console.log("----监听age---- newVal:" + newVal,"oldVal:" + oldVal);
})
​
​
</script>

http://www.mrgr.cn/news/92075.html

相关文章:

  • Web自动化之Selenium实战案例1:论文pdf自动下载
  • 《离线唤醒+离线Vosk识别+DeepSeek+离线合成,你的第二大脑》
  • PTA习题(C语言)
  • 如何在 Mac 上安装并配置 JDK 环境变量
  • dify实现分析-rag-内容检索rerank的两种实现
  • 详细介绍STM32(32位单片机)外设应用
  • 垂类大模型微调(二):使用LLaMA-Factory
  • CSDN博客写作教学(一):初识markdown编辑器(纯干货)
  • Docker 自制镜像:Ubuntu 安装 samba+Webmin
  • 特辣的海藻!2
  • Linux7-线程
  • Mac本地部署DeepSeek-r1如何设置文档知识库
  • SOME/IP-SD -- 协议英文原文讲解1
  • SpringBoot+Mybatis-Plus实现动态数据源
  • 详细介绍嵌入式硬件设计
  • 交流异步电动机PI双闭环SVPWM矢量控制Simulink
  • vue3中解决组件间 css 层级问题最佳实践(Teleport的使用)
  • Linux相关命令
  • 【堆】堆的基本概念及操作,堆与优先队列
  • 机器学习数学通关指南——泰勒公式