# 组件component(二)父组件和子组件之间传递数据

news2024/12/23 19:31:47

组件component(二)父组件和子组件之间传递数据

1.父组件=>子组件

由于组件实例的作用域是相互独立的,所以子组件的模板无法直接引用父组件的数据。可以通过props实现。是父组件用来传递数据的一个自定义属性,子组件需要**显式的用props选项**来声明Prop.
如果Prop传递的是一个数组或对象,那么它是按引用传递的。在子组件修改这个对象或者数组,则会影响父组件的状态

1.子组件=>父组件

如果子组件要把数据会传给父组件,需要使用自定义事件来实现。
父组件可以通过 v-on (缩写为 @) 来监听子组件实例的自定义事件,子组件可以直接使用 $emit 方法并传入事件名称来触发自定义事件

简单示例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>父组件和子组件之间互相传送数据</title>
		<script src="js/v2.6.10/vue.min.js"></script>
	</head>
	<body>
		<div id="app">
			1.传递静态数据:<my-com my-message="新年快乐"></my-com>
			2.传递动态数据:<my-com :my-message="msg"></my-com>
			3.传递数组:<my-arr :arr='type'></my-arr>
			4.传递对象:<my-obj :stu='stu'></my-obj>
			5.传递对象属性:<my-obj2 v-bind='stu'></my-obj2>
			<span :style="{fontSize:fz+'px'}">6.子组件回传数据:</span>
			<my-font @action='rec'></my-font>
		</div>
		<script>
			Vue.component('my-com',{
				props:['myMessage'],
				template:'<div>{{myMessage}}</div>'
			})
			Vue.component('my-arr',{
				props:['arr'],
				template:'<ol><li v-for="value in arr" >{{value}}</li></ol>'
			})
			Vue.component('my-obj',{
				props:['stu'],
				template:'<div>{{stu.name}}--{{stu.age}}--{{stu.sex}}</div>'
			})
			Vue.component('my-obj2',{
				props:['name','age','sex'],
				template:'<div>{{name}}--{{age}}--{{sex}}</div>'
			})
			Vue.component('my-font',{
				template:'<div> \
					<button @click="enlarge(5)">向上传递单个数据</button> \
					<br><button @click="enlarge(childarr)">向上传递data中的对象据</button> \
					</div>',
				data(){
					return{
						childarr:{name:'张三',age:15,sex:'female'}
					}
				},
				methods:{
					enlarge(value){
						console.log('enlare text--',value)
						this.$emit('action',value)
					}
				}
			})
			var demo=new Vue({
				el:'#app',
				data:{
					msg:'新年第一天',
					type:['html','css','javascript'],
					stu:{name:'zhangsan',age:20,sex:'female'},
					fz:10
				},
				methods:{
					rec(rec1){
						console.log('父组件接收到的数据:',rec1);
						this.fz+=rec1
					
					}
				}
			})
		</script>
	</body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

处理任务失败附实验(RH294)

首先&#xff0c;一个任务执行失败是肯定会遇见的事情而这时候&#xff0c;就需要一个备用的计划忽略任务失败默认情况下 任务失败的时候play会终止但是&#xff0c;我们可以通过忽略失败的任务来覆盖此行文使用关键字 ignore_errors举个栗子- name: Latest version of notapkg…

《流浪地球 2》 Deepfake 小试牛刀,45+ 吴京「被」年轻,变身 21 岁小鲜肉

内容一览&#xff1a;在春节档科幻电影「流浪地球 2」中&#xff0c;主演吴京、刘德华、沙溢等人饰演的角色&#xff0c;跨越 14 年之久&#xff0c;视效团队正是借助 Deepfake de-aging 技术&#xff0c;呈现出了演员不同年龄段的容貌。 关键词&#xff1a;De-aging Deepfa…

回收租赁商城系统功能拆解13讲-分销会员

回收租赁系统适用于物品回收、物品租赁、二手买卖交易等三大场景。 可以快速帮助企业搭建类似闲鱼回收/爱回收/爱租机/人人租等回收租赁商城。 回收租赁系统支持智能评估回收价格&#xff0c;后台调整最终回收价&#xff0c;用户同意回收后系统即刻放款&#xff0c;用户微信零…

springboot应用项目的打包和部署

jar包方式打包部署 springboot项目在为进行打包处理时就已经可以进行运行调试&#xff0c;是因为springboot项目内嵌了Tomcat服务器. .1添加Maven打包插件。在对Spring Boot项目进行打包(包括ar包和War包)前&#xff0c;需要在项目pom.xml文件中加入Maven打包插件&#xff0c…

倾角传感器的六大应用场合

倾角传感器又名水平传感器、水平仪、倾角仪&#xff0c;是角度传感器的一种&#xff0c;是运用惯性原理的一种加速度传感器&#xff0c;可以通过检测使用环境中的倾斜角度判断设备的倾斜状态&#xff0c;并在监测物出现角度偏差时&#xff0c;倾角传感器能够将异常数据传达给管…

【自学Docker 】Docker export命令

Docker export命令 概述 docker export教程 docker export 命令可以用于将 Docker容器 里的文件系统作为一个 tar 归档文件导出到标准输出。docker export 命令后面的 CONTAINER 可以是容器Id&#xff0c;或者是容器名。 docker save 命令用于将 Docker 镜像保存成 tar 包&a…

5nm三苯甲基/P3HT-PY/CdSe油溶性碳量子点CdSe/ZnS-PrPC的制备方法

5nm三苯甲基/P3HT-PY/CdSe油溶性碳量子点CdSe/ZnS-PrPC的制备方法今天小编分享制备三苯甲基功能化油溶性碳量子点的制备过程&#xff0c;一起看看吧&#xff1a;三苯甲基功能化油溶性碳量子点的制备过程&#xff1a;将50 mg Amino-CQDs放置在100 mL圆底烧瓶中,加入 50 mL二氯甲…

PyQt6-QLabel学习笔记

QLabel支持文本或图片显示&#xff0c;是任何GUI设计中最常用的控件之一。一、QLabel基本概述QLabel标签用于显示&#xff0c;可以以多种方式进行外观配置&#xff0c;没有提供用户交互功能&#xff0c;但是可以用于为另一个小部件指定焦点助记符或快捷键。显示内容类型类型说明…

HoloLens 2 应用开发流程笔记

本文链接&#xff1a;微信推文阅读效果更佳 目录安装工具应用开发举例配置 Unity创建新的 Unity 项目切换生成平台导入和配置资源导入 MRTK Unity 基础包配置 Unity 项目为 XR SDK 配置项目设置创建场景并配置 MRTK交互例子添加并调整第一个立方体向立方体添加脚本添加第二个立…

20篇高质量程序人生文章分享,做开发不仅仅只有代码

我一直觉得&#xff0c;我们做开发&#xff0c;不应该只有代码&#xff0c;合上公司的电脑脱离了公司的产品需求就脱离了程序&#xff0c;而应该结合软件的程序思维去更多的思考我们所处的生活和空间&#xff0c;从而指导自己面对更多的未曾见过的人与事&#xff0c;这可能就是…

Java基础之异常处理

一、小试牛刀 num1 / num2 当除数为零时&#xff0c;程序就会抛出异常&#xff0c;程序就会崩溃而导致退出。 我们可以通过异常处理机制来解决该问题 如果我们认为一段代码可能发生异常&#xff0c;可以使用try-catch-finally异常处理机制来解决。从而保证程序的健壮性。 将可能…

前端工程化-多维度检测重复代码

更多文章可关注我的个人博客&#xff1a;https://seven777777.github.io/myblog/ 1. 检测项目重复代码 1.1 检测方案&#xff1a;jscpd 方法一&#xff1a; 全局安装jscpd依赖npm i -g jscpd项目根路径执行&#xff1a;jscpd -p "src/**/*.js" -k 15 -l 5 方法二…

【黑马SpringCloud(3)】Docker

Docker初识DockerDocker与虚拟机的区别Docker架构DockerHubDocker镜像操作Docker容器操作数据卷自定义镜像镜像结构Dockerfile构建Java项目基于java:8-alpine镜像&#xff0c;构建java项目集群部署微服务Docker-Compose镜像仓库搭建私有镜像仓库Docker安装&#xff1a;https://…

Go第 14 章 :文件操作

Go第 14 章 &#xff1a;文件操作 14.1 文件的基本介绍  文件的概念 文件,对我们并不陌生,文件是数据源(保存数据的地方)的一种,比如大家经常使用的 word文档,txt文 件,excel 文件…都是文件。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保持视频,声 音… …

排序分页多表查询

文章目录一、排序ORDER BY排序规则单列排序多列排序二、分页LIMIT背景实现格式举例公式优点三、多表查询笛卡尔积&#xff08;或交叉连接&#xff09;的理解解决笛卡尔积问题多表查询分类等值连接非等值连接自连接内连接 vs 外连接SQL99实现多表查询基本语法内连接&#xff08;…

测试人员怎么对待Bug

测试人员如何描述发现的Bug咱们提Bug至少要包含这个问题出现的版本&#xff0c;问题出现的环境&#xff0c;问题出现的步骤&#xff0c;预期结果&#xff0c;实际结果。但不限于标题&#xff0c;bug归属&#xff0c;bug等价等等举个栗子&#x1f601;很容易发现二维码被登入页面…

深入分析三层网络交换机的原理和设计

引言 传统路由器在网络中起到隔离网络、隔离广播、路由转发以及防火墙的作业&#xff0c;并且随着网络的不断发展&#xff0c;路由器的负荷也在迅速增长。其中一个重要原因是出于安全和管理方便等方面的考虑&#xff0c;VLAN(虚拟局域网)技术在网络中大量应用。VLAN技术可以逻辑…

跨平台编译go(交叉编译)

以将一个简单的go http 部署到docker为例&#xff01; 方法一&#xff1a;构建service镜像同时拉取go镜像 Dockerfile文件 # alpine Linux发行版&#xff0c;该发行版的大小很小并且内置了Go FROM golang:alpine# 设置linux环境变量 ENV GO111MODULEon \CGO_ENABLED0 \GOOSl…

MyBatis持久层框架详细解读:MyBatis快速入门篇

文章目录1. 前言2. JDBC 存在的缺点3. MyBatis 优化4. MyBatis 快速入门5. 总结Java编程基础教程系列1. 前言 JavaEE 企业级 Java 项目中的经典三层架构为表现层&#xff0c;业务层和持久层&#xff0c;使用Java 代码操作数据库属于持久层内容&#xff0c;而 MyBatis 对 JDBC …

Appmsg:APP辅助分析神器

一、前言 在进行APP渗透测试、APP病毒分析或写APP测试报告时经常会用到APP基本信息&#xff0c;有些工具虽然可以解析APP&#xff0c;但缺少想要的信息&#xff0c;有些解析的结果不够准确&#xff0c;于是只好自研一款工具来解决。 二、定位 主要适用于以APP病毒分析、APP漏…