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

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.kler.cn/a/559351.html

相关文章:

  • SwinTransformer 改进:添加SimAM轻量级注意力机制
  • 第十八天 WebView深度优化指南
  • PH热榜 | 2025-02-23
  • 记录一个ES分词器不生效的解决过程
  • PHP课程预约小程序源码
  • ubuntu24.04无法安装向日葵,提示依赖libgconf-2-4怎么办?
  • 孜然单授权系统V2.0PHP授权系统
  • 《Mycat核心技术》第17章:实现MySQL的读写分离
  • 无人机+DeepSeek:放飞自我的智能化技术详解!
  • 【Rust中级教程】2.7. API设计原则之灵活性(flexible) Pt.3:借用 vs. 拥有、`Cow`类型、可失败和阻塞的析构函数及解决办法
  • 【行业解决方案篇八】【DeepSeek农业遥感:作物病虫害识别指南】
  • 使用 Spark NLP 实现中文实体抽取与关系提取
  • Linux之文件系统
  • vue2的计算属性
  • 【刷题】贪心算法
  • 算法笔记 03 —— 算法初步(上)
  • Java并发编程——ThreadLocal
  • openstack部署
  • HarmonyOS学习第3天: 环境搭建开启鸿蒙开发新世界
  • 聊聊istio服务网格