uniapp小程序父子组件传值

文章介绍了uniapp中父子组件间通信的方法。子组件通过$emit触发事件并传递数据,父组件使用$on监听并接收数据;父组件则通过navigateTo跳转并利用eventChannel向子组件传递数据,子组件使用onLoad中的getOpenerEventChannel监听并获取数据。
摘要由CSDN通过智能技术生成

uniapp小程序父子组件传值

1、子向父传递

**子组件传值的写法**
// 保存
save() {
	let labelsList = this.newSkillList.filter(item =>item.actives == true)
	// 向上个页面传递labelsList
		uni.$emit('save', labelsList)
	//返回上一页
		uni.navigateBack({})
	}
**父组件接收的写法**
	onShow() {
		let self = this
		uni.$on('save', res => {
			self.labelsList = res
		})
	},
	
	onUnload() {
		// 移除监听事件  
		uni.$off('save');
	},

2、父向子传递数据

**父组件传值的写法**
// 跳转到选择技能页面
    let self = this
	uni.navigateTo({
		url: "./skillSelect",
			success: (res) => {
              // 通过eventChannel向被打开页面传送labelList对象或数组
				res.eventChannel.emit('datas', self.labelList)
			}
   })
**子组件接收的写法**
  onLoad() {
    let self = this
    const eventChannel = self.getOpenerEventChannel();
	// 监听datas事件,获取上一页面通过eventChannel传送的大量数据
		eventChannel.on('datas', (data) => {
			self.info = data
			console.log('拿到父组件的数据是', self.info)
		})
  },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值