uniapp组件传值的方法(父传子,子传父,对象传值)案例

news2024/11/23 19:21:50

文章目录

    • 前言
    • 父组件给子组件传值
    • 子组件给父组件传值
    • 父组件给父组件传对象值

前言

最近看到uniapp组件传值的方法,这里记录一下,学过vue的应该都觉得很简单,传值的方法基本与vue的写法差不多

父组件给子组件传值

创建子组件comp.vue,然后在index.vue父页面使用该组件:

<template>
	<view class="content">
		<image class="logo" src="/static/logo.png"></image>
		<comp :name="name" @getMsg="openMsg"></comp>
	</view>
</template>
<script>
	import comp from '../../components/comp.vue'
	import phone from '../../components/phone.vue'
	import phoneItem from '../../components/phoneItem.vue'
	export default {
		components: {
			comp,
		},
		data(){
			name: 'parent',
		}
	}
</script>

可以看到在上面的index页面中有一个数据为name,我们下面使用props将父组件的name值传给子组件comp.vue。首先在父组件中使用子组件的上面进行绑定传参:

<comp :name="name" ></comp>

然后在子组件comp.vue中使用props接收父组件传过来的值:
然后设置一个点击事件打印拿到的name的值

<script>
	export default {
		// 接收父传给子的参数
		props:{
			name: String
		},
		methods: {
			sendMsg() {
				console.log(this.name)
			}
		}
	}
</script>

打印的值:
在这里插入图片描述

子组件给父组件传值

在子组件中使用this.$emit对父组件进行传值
在comp.vue中:

methods: {
	sendMsg() {
		//子传父
		this.$emit('getMsg', "我是子,"+this.name);
	}
}

在index.vue中:
定义openMsg方法绑定给@getMsg

<comp :name="name" @getMsg="openMsg"></comp>

然后写openMsg方法:打印传过来的值

methods: {
		openMsg(msg) {
			console.log(msg)
		}
	}

结果如下:这样子组件编写的值传到了父组件中打印了出来
在这里插入图片子①述

父组件给父组件传对象值

父给子传值还是使用props方法,只是传对象的话写法有些区别
在父组件中:

<phoneItem v-for="(item,index) in songList" :item="item" :key="index"/>

现需要将song中songList的值传过去

<script>
	import phoneItem from '../../components/phoneItem.vue'
	export default {
		components: {
			phoneItem
		},
		data() {
			return {
				title: 'Hello',
				name: 'parent',
				song: {
									img: 'http://gw.alicdn.com/bao/uploaded/i3/1917047079/O1CN01VlEDD522AEJzpw3A5_!!2-item_pic.png_360x10000.jpg',
									title: 'Apple/苹果 iPhone 11 Pro',
									price: '8699.00',
									marketPrice: '¥8699.00',
								},
								songList: [
									{
										img: 'http://gw.alicdn.com/bao/uploaded/i3/1917047079/O1CN01VlEDD522AEJzpw3A5_!!2-item_pic.png_360x10000.jpg',
										title: 'Apple/苹果 iPhone 11 Pro',
										price: '8699.00',
										marketPrice: '¥8699.00',
									},
									{
										img: 'http://gw.alicdn.com/bao/uploaded/i3/1917047079/O1CN01VlEDD522AEJzpw3A5_!!2-item_pic.png_360x10000.jpg',
										title: 'Apple/苹果 iPhone 11 Pro',
										price: '8699.00',
										marketPrice: '¥8699.00',
									},
									{
										img: 'http://gw.alicdn.com/bao/uploaded/i3/1917047079/O1CN01VlEDD522AEJzpw3A5_!!2-item_pic.png_360x10000.jpg',
										title: 'Apple/苹果 iPhone 11 Pro',
										price: '8699.00',
										marketPrice: '¥8699.00',
									},
								]
			}
		}
	}
</script>

子组件中进行接收:

<template>
	<view class="phone">
		<image :src="item.img" mode="widthFix"></image>
		<view >
			{{item.title}}
		</view>
		<view class="">
			<view class="price">
				¥{{item.price}}
			</view>
			<view class="market-price">
				{{item.marketPrice}}
			</view>
		</view>
	</view>
</template>
<script>
	export default {
		//父传给子的参数
		props: {
			item: {
				type: Object,
				default() {
					return {}
				}
			}
		}
	}
</script>

运行结果:
这样就能把对象的值传过来并且渲染:
在这里插入图片描述

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

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

相关文章

DDT+yaml实现数据驱动接口自动化

前言 在之前的文章中我们知道了yaml文件可以进行接口自动化。除了yaml文件&#xff0c;Excel文档也可以用来编写自动化测试用例。 一定很想知道这两者有什么区别吧&#xff1f; 1、Excel使用简单&#xff0c;维护难&#xff0c;多种数据类型转换起来比较复杂 2、yaml学习稍…

AVS3中的intra string copy(ISC)

AVS3是AVS系列的最新标准&#xff0c;其中新增了一些SCC工具&#xff0c;intra string copy(ISC)就是其中之一。下图1是AVS3的编码框架&#xff0c;其中橙色部分是ISC&#xff0c;可见ISC分为两个子模式FPSP和EUSP。 图1 AVS3编码框架 ISP是AVS3中新增的技术&#xff0c;它作用…

科技对金融业的告白信,有百融云创的落款

“当一家龙头企业失去了创新能力&#xff0c;或者其科技升级到达天花板之后&#xff0c;便会成为巴菲特老爷子的潜在重仓股选项。”这是笔者在近日巴菲特买进价值超过41亿美元的台积电ADR新闻之下&#xff0c;刷到的一条评论。 没错&#xff0c;当摩尔定律放缓&#xff0c;晶圆…

Linux之 rsyslog、日志轮转

1.rsyslog 1.1rsyslog介绍 Rsyslog的全称是 rocket-fast system for log&#xff0c;它提供了高性能&#xff0c;高安全功能和模块化设计。rsyslog能够接受从各种各样的来源&#xff0c;将其输入&#xff0c;输出的结果到不同的目的地。rsyslog可以提供超过每秒一百万条消息给…

如何做项目的权限控制?

&#xff08;1&#xff09;项目背景和问题 现有一个后台管理系统&#xff0c;共存在三种类型的人员&#xff1a; 普通用户&#xff1a;拥有查看、审核和下架商品的权限 管理员&#xff1a;普通用户权限 修改、删除商品的权限 超级管理员&#xff1a;管理员权限 添加、删除用户…

基于多领导者智能体的Olfati算法matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 人们通过群体行为的研究可以揭示群体智能的产生&#xff0c;群体智能是自组织的过程&#xff0c;将简单的个体通过交互作用或协作表现出来整体智能行为的特性称为“群体智能”。 “群体智能”应…

win10系统怎样分区,win10固态硬盘怎么分区

Windows10简称win10&#xff0c;是微软公司研发的跨平台操作系统&#xff0c;应用于计算机和平板电脑等设备。许多用户在购买一台新电脑后&#xff0c;开机后发现&#xff1a;电脑只有一个C盘&#xff0c;且C盘存储空间很大&#xff0c;为了更加合理地使用磁盘分区&#xff0c;…

Linux文件搜索命令find、which和whereis应用

记录&#xff1a;349 场景&#xff1a;在CentOS 7.9操作系统上&#xff0c;使用find命令在指定目录搜索文件&#xff0c;支持精确搜索和模糊搜索&#xff1b;使用which命令搜索一个命令所在的目录和别名信息。使用whereis命令搜索命令所在的目录和man帮助手册等相关的文件路径…

NR CSI(四) PMI

微信同步更新欢迎关注同名modem协议笔记 如38.214 5.1.1.1中所述&#xff0c;NR PDSCH 38214只有一种传输模式Transmission scheme 1&#xff0c;gNB将data(di)和DMRS一同预编码&#xff0c;之后通过无线信道&#xff0c;发送给UE,如下图。DMRS是用于信道估计&#xff0c;服务…

一键获取主图设计模板的工具平台

想设计一个好看又简介的电商商品模板&#xff1f;不懂如何设计排版电商商品主图&#xff1f;今天小编分享给你这个主图设计工具和设计教程&#xff0c;乔拓云不仅能快速上手设计&#xff0c;还有海量的主图设计素材能直接使用&#xff01;只需要跟着小编下面的工具使用教程&…

C语言IO操作fread/fwrite/fflush

参考 1 2 IO操作 fread/fwrite/fflush&#xff1a; c语言标准规定的io流操作&#xff0c;建立在read/write/fsync之上&#xff1b;在用户层&#xff0c; 又增加了一层缓冲机制&#xff0c;用于减少内核调用次数&#xff0c;但是增加了一次内存拷贝&#xff1b; read/write/…

[附源码]SSM计算机毕业设计学生量化考核管理系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

mysql相关基础知识篇(五)

1.MySQL 事务的四大特性说一下&#xff1f; 原子性&#xff1a;事务作为一个整体被执行&#xff0c;包含在其中的对数据库的操作要么全部被执行&#xff0c;要么都不执行。一致性&#xff1a;指在事务开始之前和事务结束以后&#xff0c;数据不会被破坏&#xff0c;假如 A 账户…

maven的pom.xml文件爆红,并且刷新maven无法下载依赖的解决方案

平时使用idea时&#xff0c;对于新手有时候会遇到一些比较尴尬的事情——依赖无法下载 分析一下&#xff0c;maven依赖无法下载有以下原因 &#xff08;1&#xff09;maven在项目中是否安装且环境变量是否配置成功 &#xff08;2&#xff09;maven依赖下载慢&#xff0c;考虑是…

Dubbo3入门实践,SpringBoot+Dubbo+Nacos+DubboAdmin

前言 学习Dubbo的过程中发现官网文章太过简单&#xff0c;而且没有提供完整的项目整合&#xff0c;导致入门门槛比较高&#xff0c;初学者不知从何下手。本文将在SpringBoot的基础上整合Dubbo&#xff0c;注册中心使用当下流行的Nacos&#xff0c;还将使用Dubbo-Admin来管理服务…

RationalDMIS 2020 叶片检测 -快速定义叶片截面线方法

1.快速定义叶片截面线方法 用多平面切割叶片CAD定义曲线的方法,用来快速定义叶片截面曲线;自定义多个平面,使用这些平面切割CAD,生成多个叶片曲线(BladeCurve):再将生成的叶片曲线(BladeCurve)自动打断为两个子曲线(Curve);上述所有生成的曲线(Curve)都会添加到元…

[附源码]Python计算机毕业设计Django常见Web漏洞对应POC应用系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

使用 Rainbond 搭建本地开发环境

在开发之前&#xff0c;你需要在本地安装各种开发工具和服务&#xff0c;比如&#xff1a;Mysql、Redis、Nacos 等等&#xff0c;我们都知道在个人电脑上安装这些服务相当的繁琐&#xff0c;可能会遇到很多问题&#xff0c;环境问题、依赖问题等等。 在需要团队协作业务联调的…

第十三章《集合》第5节:Map集合

List、Set和Queue都是Collection接口的子接口,因此从更高层次来说它们属于统一类型的集合。Map接口也代表一种集合,但它不是Collection子接口,因此它属于另一种类型的集合。Map用于保存具有映射关系的数据。映射关系的数据分为两部分,就好比电话本一样,如图13-20所示。 图…

运筹说 第82期 | 算法介绍之图与网络分析(二)

本期我们继续进行运筹学之图与网络分析算法的讲解&#xff0c;我们将对图与网络分析的基础知识进行一个简单的回顾&#xff0c;并介绍求解最大流问题和最小费用最大流的MATLAB和Python相关代码&#xff0c;以帮助大家利用工具快速求解最大流问题和最小费用最大流问题&#xff0…