首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >uniapp父子组件传值

uniapp父子组件传值

作者头像
全栈程序员站长
发布2022-08-29 17:26:18
发布2022-08-29 17:26:18
90800
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

父组件页面(parent.vue)

代码语言:javascript
代码运行次数:0
运行
复制
<template>
	<view>
		<Child @out=out :backGround=backGround></Child>
	</view>
</template>
<script>
	import Child from "../../components/child.vue";
	export default{ 
   
		components:{ 
   
			Child
		},
		data() { 
   
			return { 
   
				backGround:"red"
			}
		},
		methods: { 
   
			out(e){ 
   
				console.log("接收到的值==>>"+e) //接收方法
			}
		}
	}
</script>
<style>
</style>

子组件页面(child.vue)

代码语言:javascript
代码运行次数:0
运行
复制
<template>
	<view class="content" :style="[{background:backGround}]">
		<button @tap="miss">点击传值</button> //子组件点击事件
	</view>
</template>
 
<script>
	export default { 
   
		props:{ 
   
			backGround:{ 
    //参数名
				type:String, //参数名
				default:"#fff" //参数默认
			}
		},
		methods:{ 
   
			miss(){ 
   
				this.$emit("out","hahaha") //子传父
			}
		}
	}
</script>
 
<style>
	.content{ 
   
		width: 400upx;
		height: 400upx;
	}
</style>

在父组件中引入子组件

父传子(props)

在子类props里定义接收参数

在子类标签写上引用

然后在父类写上准备传递的参数

此时,父组件传到子组件的值,就会覆盖默认背景色

子传父($emit)

需要首先在子类组件定义事件

在子类写上触发事件

在父类引用标签上写上在子类$emit里面定义的方法名,以及接收方法

然后点击子类触发,就可以传值给父类

注意:

1.父传子用props;子传父用$emit()

2.子组件中的miss方法中this.$emit(‘out’,“hahaha”); //向父组件提交一个事件和值

其中,$emit中的’out’是父组件的方法名,hahaha是要传的值。

这个方法在父组件中以@out=”out”关联给父组件的out方法,然后这个父组件的out方法就可以接收子组件传来的hahahaa(实现了子组件修改父组件的目的)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145455.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 父组件页面(parent.vue)
  • 子组件页面(child.vue)
  • 在父组件中引入子组件
  • 父传子(props)
  • 子传父($emit)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档