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

前端流行框架Vue3教程:14. 组件传递Props效验

(4) 组件传递Props效验

Vue组件可以更细致地声明对传入的props的校验要求

ComponentA.vue

<script>
import ComponentB from './ComponentB.vue';
export default {components: {ComponentB},data() {return {title: '标题'}}
}
</script>
<template><h3>ComponentA </h3><ComponentB :title="title"/>
</template>

ComponentB.vue

<script>
export default{data(){return{}},props:{title:{// 效验类型,可以为很多类型type:[String,Number]}}
}
</script>
<template>
<h3>ComponentB</h3>
<p>{{ title }}</p>
</template>

默认值

假设ComponentA.vue没有传入age的值:

ComponentB.vue

<script>
export default{data(){return{}},props:{title:{type:[String,Number],},age:{type:Number,default:18},// 数字和字符串可以直接default,但是如果是数组和对象,必须通过工厂函数返回默认值names:{type:Array,default(){return ['张三','李四']}}}
}
</script>
<template>
<h3>ComponentB</h3>
<p>{{ title }}</p>
<p>{{ age }}</p>
<ul><li v-for="(item,index) in names" :key="index">{{ item }}</li>
</ul>
</template>

在这里插入图片描述

必选项

部分代码:

text:{type:String,required:true  // 必选项}

我们没有传text的话,就会有个提示

在这里插入图片描述

温馨提示
警告!prop是只读的!

比如我们用button添加个事件,是不允许修改父元素传递过来的数据

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

相关文章:

  • 针对面试-redis篇
  • 使用Homebrew下载配置git和连接GitHub(Mac版)
  • LeetCode LCR 033. 字母异位词分组
  • springboot微服务连接nacos超时
  • CTF-DAY8
  • unordered_map和unordered_set的设计
  • OpenGl实战笔记(3)基于qt5.15.2+mingw64+opengl实现光照变化效果
  • 高性能网络优化:深入解析忙轮询(Busy Polling)技术
  • 如何把阿里云a账号下面的oss迁移到阿里云b账号下面(同区域)
  • Nginx 安全防护与 HTTPS 部署
  • UE5 把翅膀动画额外创建动画蓝图并和角色绑定混合动画
  • Kali:利用rockyou文本字典hash破解zip压缩包密码
  • MySQL + Qwen3-0.5B + Flask + Dify 工作流部署指南
  • 探秘数据中台:五大核心平台的功能全景解析
  • QuecPython+Aws:快速连接亚马逊 IoT 平台
  • 从试错到智能决策:Python与强化学习优化自动驾驶策略
  • Netty 的 Reactor 模型
  • deeplabv3+街景图片语义分割,无需训练模型,看不懂也没有影响,直接使用,cityscapes数据集_23
  • 掌握 Git 常用命令,高效管理项目版本
  • java安全入门
  • Kotlin空安全解决Android NPE问题
  • 第八章--图
  • LeetCode 3423. 循环数组中相邻元素的最大差值 题解
  • homebrew安装配置Python(MAC版)
  • Oracle01-入门
  • 个人Unity自用面经(未完)
  • 神经网络中之多类别分类:从基础到高级应用
  • ChatGPT对话导出工具-轻松提取聊天记录导出至本地[特殊字符]安装指南
  • 审计数据整合:集团多主体科目余额表合并全流程解析
  • JVM内存模型深度解剖:分代策略、元空间与GC调优实战