Vue2:通过props给组件传数据

一、业务场景

我们在使用Vue组件时,常常会复用Vue组件,那么,问题来了,复用的时候,业务数据不相同,怎么办了?
这里我们就需要学习新的属性:props来实现这个功能。
这样,组件就类似于一个函数一样,可以接收参数值了。

二、props给组件传数据

1、给组件传入参数值

<!--        这里用v-bind简写,实现传递数值功能。因为vue指令,接收的是js表达式--><Student  name="李四" sex="" :age="18"/>

2、组件接收参数值

方式一:

        //简单声明接收props:['name','age','sex']

方式二:

        //接收的同时对数据进行类型限制props:{name:String,age:Number,sex:String}

方式三:

        //接收的同时对数据:进行类型限制+默认值的指定+必要性的限制props:{name:{type:String, //name的类型是字符串required:true, //name是必传非空的},age:{type:Number,default:99 //默认值},sex:{type:String,required:true}}

三、修改props接收的数据

在这里插入图片描述
如上图所示,props接收到的数据,不在_data中,所以,无法直接修改。
简写代码:

<h2>学生年龄:{{myAge}}</h2>
<script>data() {console.log(this);return {msg:'我是Vue的学生',myAge:this.age}}methods: {updateAge(){this.myAge++}}
</script>

四、总结

  1. 功能:让组件接收外部传过来的数据
  2. 传递数据:<Demo name="xxx"/>
  3. 接收数据:
    1. 第一种方式(只接收):props:['name']
    2. 第二种方式(限制类型):props:{name:String}
    3. 第三种方式(限制类型、限制必要性、指定默认值):
        props:{name:{type:String, //类型required:true, //必要性default:'老王' //默认值}}

备注:props是只读的,Vue底层会监测你对props的修改,如果进行了修改,就会发出警告,若业务需求确实需要修改,那么请复制props的内容到data中一份,然后去修改data中的数据。

如果data块中的属性名和props中的属性名重名,则以props中收到的值为准,因为props的加载优先级高于data块

五、完整代码

<template><div><h1>{{msg}}</h1><h2>学生姓名:{{name}}</h2><h2>学生性别:{{sex}}</h2><h2>学生年龄:{{myAge}}</h2><button @click="updateAge">尝试修改收到的年龄</button></div>
</template><script>export default {name: "Student",data() {console.log(this);return {msg:'我是Vue的学生',myAge:this.age}},//简单声明接收// props:['name','age','sex']//接收的同时对数据进行类型限制
/*         props:{name:String,age:Number,sex:String}*///接收的同时对数据:进行类型限制+默认值的指定+必要性的限制props:{name:{type:String, //name的类型是字符串required:true, //name是必传非空的},age:{type:Number,default:99 //默认值},sex:{type:String,required:true}},methods: {updateAge(){this.myAge++}}}
</script><style scoped>.school{background-color: gray;}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/333244.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

拦截器HandlerInterceptor | springmvc系列

拦截器&#xff0c;通俗来来将&#xff0c;就是我们将访问某个路径的请求给拦截下来&#xff0c;然后可以对这个请求做一些操作 基本使用 创建拦截器类 让类实现HandlerInterceptor接口&#xff0c;重写接口中的三个方法。 Component //定义拦截器类&#xff0c;实现Handle…

如何用GPT/GPT4完成AI绘图和论文写作?

详情点击链接&#xff1a;如何用GPT/GPT4完成AI绘图和论文写作&#xff1f; 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析&#xff0c;AI画图&#xff0c;图像识别&#xff0c;文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Clau…

数据结构与算法-栈-移掉K位数字

移掉K位数字 给你一个以字符串表示的非负整数 num 和一个整数 k &#xff0c;移除这个数中的 k **位数字&#xff0c;使得剩下的数字最小。请你以字符串形式返回这个最小的数字。 示例 1 &#xff1a; 输入&#xff1a;num "1432219", k 3 输出&#xff1a;&quo…

Java面向对象综合练习(拼图小游戏),用java图形化界面实现拼图小游戏

1. 设计游戏的目的 锻炼逻辑思维能力利用Java的图形化界面&#xff0c;写一个项目&#xff0c;知道前面学习的知识点在实际开发中的应用场景 2. 游戏的最终效果呈现 Hello&#xff0c;各位同学大家好。今天&#xff0c;我们要写一个非常有意思的小游戏 —《拼图小游戏》 我们…

RabbitMQ(十一)队列的扩展属性(Arguments)

目录 一、简介二、队列扩展属性清单三、代码示例3.1 实现方式一&#xff1a;channel.queueDeclare()3.2 实现方式二&#xff1a;QueueBuilder.build() 一、简介 RabbitMQ 允许用户在声明队列、交换机或绑定时设置 扩展属性&#xff08;Arguments&#xff09;&#xff0c;这些扩…

美区PayPal个人版注册绑VISA虚拟卡支付教程,贝宝预防风控日常消费付款技巧

很多人有国区PAYPAL&#xff0c;但是国区有非常多的限制&#xff0c;比如说很多美区商户不支持国区PAYPAL付款&#xff0c;这是最主要的区别&#xff0c;其他就是转账限制。 绑定PAYPAL这里我用的是Fomepay 4288卡段的卡 我们先来注册绑卡&#xff0c;首先你需要搭建一个支付…

PostgreSQL从入门到精通 - 第40讲:数据库不完全恢复

PostgreSQL从小白到专家&#xff0c;是从入门逐渐能力提升的一个系列教程&#xff0c;内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容&#xff0c;希望对热爱PG、学习PG的同学们有帮助&#xff0c;欢迎持续关注CUUG PG技术大讲堂。 第40讲&#…

数据库基础2

一、基础数据类型 1、数值类型 2、字符串类型 3、时间类型 T就是一个完整的时间 4、数据类型转换 时间类型的计算函数 二、常用运算符 1、算术运算符 2、比较运算符 3、逻辑运算符

助推酒店产业智能化升级 I 喜尔康出席中国饭店协会成立三十周年总结展望大会

1月8日&#xff0c;中国饭店协会六届四次理事会暨中国饭店协会成立三十周年总结展望大会在广州隆重举办。 作为中国饭店协会理事单位及此次大会的赞助商&#xff0c;喜尔康受邀出席大会。现场&#xff0c;喜尔康集团董事长吴锡山发表了《智能家居 赋能后装修时代》的主题演讲&…

【Docker】可以将TA用于什么,简单了解下

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是是《Docker容器》序列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深…

ArcGIS中style文件的导入及lyr的文件的使用

地图是地理信息的重要载体&#xff0c;科学的配色方案可以有效地传递地理信息&#xff0c;而美观协调的配色方案也是我们进行地图符号化设计的重要内容。在日常工作中&#xff0c;我们常常苦恼于自带颜色不能满足需要或是希望使用现成的颜色模板&#xff0c;自定义配色方案导入…

SEO全自动发布外链工具源码系统:自动增加权重 附带完整的搭建安装教程

SEO全自动发布外链工具是一款基于PHP和MySQL开发的外链发布工具。它通过自动化流程&#xff0c;帮助站长快速、有效地发布外链&#xff0c;提高网站的权重和排名。该工具支持多种外链发布平台&#xff0c;如论坛、博客、分类信息等&#xff0c;可自定义发布内容和格式&#xff…