uni-app使用props和$emit实现父组件与子组件的数据传递

props实现父组件向子组件传递数据

<template>
	<view class="content">
		<testone :title="title"></testone>
	</view>
</template>

<script>
	import testone from '../../components/testone/testone.vue'
	export default {
		components:{
			testone
		},
		data() {
			return {
				title: '你好呀'
			}
		},
		onLoad() {

		},
		methods: {

		}
	}
<template>
	<view>
		<image class="logo" src="/static/logo.png"></image>
		<view class="text-area">
			<text class="title">{{title}}</text>
		</view>
	</view>
</template>

<script>
	export default {
		props:{
			title:{
				type:String,
				default:"hello"
			}
		},
		data() {
			return {
				
			};
		}
	}
</script>

父子组件的代码如上:
1.需要在父页面中引入子组件
在这里插入图片描述
2.为子组件绑定动态数据title,并在data中返回你想要传递的数据
在这里插入图片描述
到此为止相当于在父组件中定义好了想要传递的参数,并且交给了子组件,下面要做的是子组件把这个参数引入进来。
3.在子组件中引入
在这里插入图片描述
这样就实现了在父组件中声明一个变量,并在子组件中接收后渲染的功能。

使用$emit实现子组件向父组件传递数据
不同于父组件对子组件的传值,至于要在父组件定义下参数,子组件props接收。我们首先需要在子组件list里定义点击事件change:
在这里插入图片描述
在这里插入图片描述
这里是用到了swiper的组件,有一个滑动的效果,懒得自己编一个例子了,抱歉,这里的change方法中的e参数代表了滑动轮播图时返回的一些数据,e.detail表示当前轮播图是第几个,这里只要明白是定义了个方法,滑动轮播图,会把当前轮播图的编号用emit发出去,编号值为current,参数名为change。
接着我们也需要在父组件中定义方法:
在这里插入图片描述
在这里插入图片描述
这里的方法名和点击事件名都可以随意定义,但是参数值current,必须跟子组件一致。
明天加个总结。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值