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

vue父子传参的方式——Prop

Prop

每一个组件都有一个props的属性,用来接收外部传递的数据

这里我拿一个分页组件为例:

一、基础语法

1、父组件传递数据

父组件在向子组件传递数据时,基础语法如下:

<template><div><common-page :pagination="pagination" @change="handlePageChange"/></div>
</template><script>
import CommonPage from '@/components/common/CommonPage'
export default {components: {CommonPage,},data() {return {/* 分页参数 */pagination: {current: 1,pageSize: 10,total: 0,pageSizeOptions: [10, 20, 30, 50, 100],showQuickJumper: true,showSizeChanger: true,},};},methods: {//分页、筛选变化时触发handlePageChange({ pageSize, current }) {this.pagination.current = currentthis.pagination.size = pageSize},}
};
</script>

传递的数据中,除了静态的字符串以外,其他所有数据在传递时,都需要通过v-bind进行传递。

2、子组件接受数据

export default {props: {pagination: {type: Object, // 指定属性的类型为对象。required: true, // 指定属性是必需的,即在使用该组件时必须传递这个属性。},}
}

3、子组件访问 Props

<template><div class="pagination"><el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange":page-sizes="pagination.pageSizes?pagination.pageSizes:[5, 10, 20, 30, 40, 50]":page-size.sync="pagination.pageSize":current-page.sync="pagination.current":pagerCount="pagerCount":small="small":layout="layout":total="pagination.total"></el-pagination></div>
</template><script>export default {name: 'common-page',props: {pagination: {type: Object,required: true,},layout: {type: String,default: 'total, sizes, prev, pager, next, jumper',},small: {type: Boolean,default: false,},pagerCount: {type: Number,default: 7},},mounted() {console.log(this.pagination, this.pagerCount)}}
</script>

二、单向数据流

概念

单向数据流,指的是父组件将数据通过 props 传递给子组件后,父组件更新数据, 子组件 props 的数据会同步更新,但是,反过来则不行,子组件不能修改 props 数据。

当父组件将数据传递给子组件后,父组件如果更新数据,子组件会同步更新,但是,子组件中不能修改 props 接收的数据。

结论:子组件中不能修改 Prop 的数据

解决方案

如果确实有需要修改 props 的要求,可以有如下两种解决方案:

1、将 props 赋值给 data
export default {props: {pagination: {type: Object,required: true,},},data() {return {sonPagination: this.pagination}}
}
2、将 props 赋值给 computed
export default {props: {pagination: {type: Object,required: true,},},computed: {sonPagination() {return this.pagination}}
}

三、Prop 的验证

  export default {props:{name:String,age: [Number,String],num:{type:Number,    //类型required:true,  // true为必传},gender:{type:String,default:"保密" //默认值},// 如果默认值是数组或对象friends:{type:Array,default: ()=>["张三","李四"],},teacher:{type:Object,default:()=>({name:"王五"}),},classes:{validator(value){return ['web21','web22','web23'].includes(value)}}}}

相关文章:

vue父子传参的方式——Prop

Prop 每一个组件都有一个props的属性&#xff0c;用来接收外部传递的数据 这里我拿一个分页组件为例&#xff1a; 一、基础语法 1、父组件传递数据 父组件在向子组件传递数据时&#xff0c;基础语法如下&#xff1a; <template><div><common-page :pagina…...

Apache Commons Text 指南:比 String 更强大的文本处理工具

Apache Commons Text 指南&#xff1a;比 String 更强大的文本处理工具 在 Java 开发中&#xff0c;String 类是处理文本的基础工具&#xff0c;但当面对复杂的文本处理需求时&#xff0c;其局限性就显而易见了。Apache Commons Text 提供了一个更加灵活强大的文本处理工具集&…...

C++面向对象编程学习

C面向对象编程学习 前言一、C面向对象编程二、知识点学习1. 定义一个类1.1 使用struct定义1.2 使用class定义1.3 struct和class的区别 2. 类的定义方式2.1 单文件定义&#xff08;Inline Definition&#xff09;2.2 分离定义&#xff08;Separate Definition&#xff09;2.3 头…...

云轴科技ZStack亮相迪拜GITEX大会,与阿里云再次携手深化海外合作

10月14至18日&#xff0c;全球顶尖科技盛会GITEX GLOBAL 2024在迪拜拉开帷幕&#xff0c;云轴科技ZStack携全系云计算解决方案与全新AIOS智塔平台参展&#xff0c;向全球观众展示智算时代下的新一代智算化算力平台。 GITEX GLOBAL 2024是当今世界上最具前瞻性兼包容性的大型科技…...

SQL Server 当前日期及其未来三天的日期

当前日期及其未来三天的日期&#xff0c;并分别以 YYYY-MM-DD 和 yyyyMMdd 的格式展示 1、当前日期及其未来三天的日期&#xff0c;以 YYYY-MM-DD的格式展示 WITH CurrentDate AS (SELECT GETDATE() AS 当前日期 ) -- 使用 CONVERT 函数 SELECTCONVERT(VARCHAR(10), 当前日期,…...

QUIC(Quick UDP Internet Connections)与 RTMP(Real Time Messaging Protocol)

QUIC&#xff08;Quick UDP Internet Connections&#xff09;和 RTMP&#xff08;Real Time Messaging Protocol&#xff09;是两种不同的网络传输协议&#xff0c;它们在一些方面有不同的特点和应用场景。 QUIC 协议 特点 基于 UDP&#xff1a;QUIC 建立在 UDP 之上&#xff…...

双十一送你一份购物攻略,绿联NAS DXP2800评测

一年一度双十一&#xff0c;今年双十一来得特别早&#xff0c;所以最近已经看到不少人在讨论双十一买了啥&#xff0c;NAS的讨论度也挺高的。正好&#xff0c;是我比较懂的领域。作为一位资深的数码爱好者&#xff0c;同时也是绿联DH2600DXP2800双持用户&#xff0c;可以说我是…...

基于vue框架的的高校设备信息管理系统的设计与实现tx6d7(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;设备管理员,设备维护员,设备类别,设备,设备入库,设备分发,设备调拨,定期维护,维护任务,设备运行记录 开题报告内容 基于Vue框架的高校设备信息管理系统的设计与实现开题报告 一、项目背景及意义 随着高校教育事业的蓬勃发展&#xff…...

springboot3.x使用@NacosValue无法获取配置信息问题解决

一、问题描述 springboot从2.x升级到3.x后&#xff0c;nacos的依赖包需要改成Spring Cloud的依赖包才能继续使用。升级好以后&#xff0c;首先&#xff0c;确定我的项目是能够连上nacos并且加载到配置信息的&#xff0c;因为数据库等信息都是从nacos加载过来&#xff0c;能够正…...

sql获取时间差

MySQL SELECT TIMESTAMPDIFF(HOUR, 2023-10-01 12:00:00, 2023-10-02 15:30:00) AS hours_difference; PostgreSQL //EXTRACT(EPOCH FROM (2023-10-02 15:30:00::timestamp - 2023-10-01 12:00:00::timestamp)) // 获取的是两个时间相差的秒数&#xff0c;在此基础上除3600获…...

【深入理解Python中的闭包】如何有效使用嵌套函数和状态捕获!

深入理解Python中的闭包&#xff1a;如何有效使用嵌套函数和状态捕获 Python 作为一种动态的编程语言&#xff0c;允许我们用多种方式来设计和构建功能&#xff0c;其中之一就是 闭包&#xff08;Closure&#xff09;。闭包是一种强大的特性&#xff0c;可以帮助我们捕获和保持…...

npm配置阿里镜像库教程

为了配置npm使用阿里镜像库&#xff0c;可以按照以下步骤进行操作。这些步骤将帮助你加快包的下载速度&#xff0c;特别是在中国地区&#xff0c;因为阿里镜像库通常比官方npm仓库响应更快。 1. 配置全局镜像 可以通过运行以下命令来将npm的全局镜像配置为阿里镜像&#xff1…...

Apache JMeter压力测试工具使用

JMeter是Apache组织开发的基于Java的压力测试工具&#xff0c;用于对软件做压力测试。 01 软件下载 下载地址: https://jmeter.apache.org/download_jmeter.cgi 最新版本5.6.2 用浏览器下载发现慢得很&#xff0c;用迅雷下载非常快哟。 02 测试使用 在使用前需要先安装jd…...

前端零基础入门到上班:【Day4】HTML 多媒体与表单深度教程

HTML 多媒体与表单深度教程 **1. HTML 多媒体基础&#xff1a;深入理解 <video> 和 <audio> 标签****1.1 <video> 标签&#xff1a;详细剖析与用法****1.1.1 基础结构与属性详解****1.1.2 视频格式的兼容性与示例****1.1.3 视频控制的实际应用** **1.2 <a…...

原创作品——银行软件产品界面设计

蓝蓝设计团队服务金融类应用界面设计&#xff0c;以沉稳的色调和简洁的线条营造出专业可靠的氛围。特点在于融入了创新的元素增添界面的活力与现代感。细节处理上&#xff0c;注意数据的视觉呈现效果&#xff0c;采用定制化的图表和清晰的排版&#xff0c;确保用户能够快速理解…...

若依RuoYi-Vue 定时任务 速学

1.若依定时任务模块&#xff08;ruoyi-quartz&#xff09; 那么从一个简单的入门示例开始&#xff0c;掌握定时任务的使用吧&#xff01; 2. 入门示例&#xff08;学会制作一个简单定时任务&#xff09; 首先打开定时任务模块中的task包&#xff0c;这里已经有一个已经写好的R…...

【pytest学习】pytest.main()

基本用法## pytest.main()函数是用于启动测试运行的入口点。它可以在命令行中直接使用&#xff0c;也可以在脚本中以编程方式调用。 以下是一个简单的示例&#xff1a; import pytest if __name__"__main__":pytest.main()执行当前目录下的所有测试文件 使用pytes…...

设计模式: Pimpl(Pointer to Implementation)

这种设计模式通常被称为 Pimpl&#xff08;Pointer to Implementation&#xff09;惯用法&#xff0c;有时也被称为 Cheshire Cat 惯用法。它主要用于隐藏实现细节和减少编译依赖。 例子&#xff1a; DatabaseConnection.h #ifndef DATABASE_CONNECTION_H #define DATABASE_…...

android开发中文网站 android developer

Android 平台 | Platform | Android Developers 在此做个记录...

实习冲刺Day1

算法题 20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 这个题我们采用stack栈的方式来进行相应的括号匹配 情况有以下几种 当字符串s中只有一个字符的时候&#xff0c;那这个时候字符串一定是不匹配的所以直接返回false当字符串为发生标准匹配的时候&#xff0c;…...

安全见闻(5)——开阔眼界,不做井底之蛙

安全见闻五&#xff1a;人工智能 内容预览 ≧∀≦ゞ 安全见闻五&#xff1a;人工智能声明导语一、人工智能基础机器学习基础机器学习的典型工作流程1. 数据收集2. 数据预处理3. 模型选择与训练4. 模型评估与优化5. 模型应用 深度学习基础深度学习基本原理1. 神经网络基础2. 多层…...

Navicat 安装

Navicat 安装步骤...

解读 Java 经典巨著《Effective Java》90条编程法则,第2条:遇到多个构造器参数时要考虑使用构建器

《Effective Java》是由 Joshua Bloch 撰写的经典书籍&#xff0c;提供了 Java 编程中的最佳实践和建议。在书中的第2条建议“遇到多个构造器参数时要考虑使用构建器”&#xff0c;主要是为了处理构造器参数过多时的设计问题。这条建议的主要目的是简化构造器的使用&#xff0c…...

拉丁美洲有望成为全球电商的新蓝海!

拉美市场&#xff0c;被行业普遍认为“可能是中国跨境电商的最后一个蓝海市场”。越来越多的中国跨境电商卖家开始关注拉美市场&#xff0c;并且持续为拉美消费者提供更为优质的“中国制造”。 为什么大家会这么认为呢&#xff1f;原因可能有以下几个方面&#xff1a; 第一、拉…...

VScode远程开发之remote 远程开发(二)

VScode远程开发之remote 远程开发&#xff08;二&#xff09; 使用vscode进行远程开发很简单&#xff0c;在拓展里搜索 Remote Development&#xff0c;就可以搜索到微软提供的远程开发大礼包&#xff0c;里面包含了 通过 SSH 远程服务器 远程容器 远程 WSL&#xff08;Win…...

基于Python+SQL Server2008实现(GUI)快递管理系统

快递业务管理系统的设计与实现 摘要: 着网络新零售的到来&#xff0c;传统物流在网购的洗礼下迅速蜕变&#xff0c;在这场以互联网为基础的时代变革中&#xff0c;哪家企业能率先转变其工作模式就能最先分得一杯羹&#xff0c;物流管理也不例外。传统的物流管理模式效率低下&a…...

png格式图片怎么改成jpg?超好用的8种转换方法介绍!

png格式图片怎么改成jpg&#xff1f;PNG作为一种普遍存在的图片格式&#xff0c;在我们的日常生活中无处不在&#xff0c;从社交媒体分享到工作文档插图&#xff0c;都少不了它的身影&#xff0c;PNG格式的确拥有诸多优点&#xff0c;如无损压缩保留图像的所有细节与高质量&…...

Idea基于JRbel实现项目热部署修改Java、Xml文件无需重启项目

Idea基于JRbel实现项目热部署修改Java、Xml文件无需重启项目 1.JRbel服务安装2.JRbel插件安装3.JRbel配置 1.JRbel服务安装 直接装插件的话&#xff0c;需要用到一个服务地址&#xff0c;服务下载链接&#xff1a;&#xff08;现在没时间搞&#xff0c;会尽快加上&#xff09;…...

【如何获取股票数据17】Python、Java等多种主流语言实例演示获取股票行情api接口之沪深A股近年增发数据获取实例演示及接口API说明文档

最近一两年内&#xff0c;股票量化分析逐渐成为热门话题。而从事这一领域工作的第一步&#xff0c;就是获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息&#xff0c;这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的主要任…...

导出BERT句子模型为ONNX并推理

在深度学习中&#xff0c;将模型导出为ONNX&#xff08;Open Neural Network Exchange&#xff09;格式并利用ONNX进行推理是提高推理速度和模型兼容性的一种常见做法。本文将介绍如何将BERT句子模型导出为ONNX格式&#xff0c;并使用ONNX Runtime进行推理&#xff0c;具体以中…...

曾经做博彩网站代理/网站推广的平台

//设置部分$idmysql_connect(‘localhost’,’user’,’password’); //最好是使用root,或者高权限用户//FUN部份function PMA_backquote($a_name, $do_it TRUE) // 取自phpmyadmin&#xff0c;用来格式化数据库名{if ($do_it&& !empty($a_name) && $a_na…...

巴南集团网站建设/seo概念

最近项目中新增的功能&#xff0c;需要对手机号、姓名、身份证号等一些信息进行验证&#xff0c;最好的方法是通过正则表达式来验证&#xff0c;网上查了一些资料&#xff0c;写了这几个工具方法。 1、验证手机号 规则&#xff1a;第一位只能是1&#xff0c;第二位为3-8中的数字…...

wordpress json 插件安装/私人做网站

gin框架11--上传文件介绍案例说明介绍 本节列出了上传文件的 api 用法&#xff0c;具体包括同时上传单个文件和同时上传多个文件&#xff0c;并将文件保存到项目当前目录。 案例 源码&#xff1a; package mainimport ("fmt""github.com/gin-gonic/gin"…...

律师怎样做网站/手机app安装下载

属性访问 方法含义_getattr_(self,name)定义用户试图获取一个不存在的属性时的行为__getattribute__(self.name)定义当该类的属性被访问时的行为__setattr__(self,name,value)定义当一个属性被设置时的行为__delattr__(self,name)定义当一个属性被删除时的行为 class C:def __…...

网站设置万事达u卡/百度官网认证价格

2019-02-14 【小记】 RO段、RW段和ZI段 --Image$$??$$Limit 含义&#xff08;zz&#xff09;转载于:https://www.cnblogs.com/skullboyer/p/10373972.html...

c 网站开发视频/推一手新闻发稿平台

科技进步的今天&#xff0c;互联网不断的发展&#xff0c;很多人学习Linux运维的时候会因为记不住一些命令从而去找一些渠道&#xff0c;有时候因为找不到linux的命令而烦恼&#xff0c;下面是小猿圈linux讲师给大家总结的linux基础命令&#xff0c;希望对你有所帮助。1、线上查…...