uniapp 组件间传值

方法一(uniapp-vue2的写法)

一、父给子发信息

父组件发送信息给子组件

index.vue

import Bank from './components/bank.vue'
export default {
  components: { Bank },
  data() {
    return {
      bank: '你好',
    }
  }
}

// template部分
    <Bank :bank="bank"></Bank>

子组件接收父组件信息
/components/bank.vue

// js部分
export default {
  props: {
    bank: {
      type: String, 
      //还可写成 default: () => {},  默认值=> default: true 
    }
  }
  
<template>
	<view>{{ bank}}</view>
</template>

二、子给父发信息

注意:有时候子传父的数据比较多重,然后在小程序中拿到的数据会不同于app和H5。小程序接收方式:item.target.__ args __[0] 注:由于上面的空格是没有空格的,csdn导致这样写才能显示出来

子组件发信息给父组件
/components/bank.vue

this.$emit('closeTestPage', true)

父组件接收子组件信息

index.vue

import Bank from './components/bank.vue'
export default {
  components: { Bank },
}

// template部分
<Bank @closeTestPage="closeTestPage"></Bank>

方法二(uniapp的写法)

简述:uniapp中并没有固定父传子和子传父分别要怎么写,其中emit为触发事件,on为接收事件

注意:由于先创建和触发了emit,然后on还没创建成功,也就接收不成功了,所以要在emit加个定时器

//触发:
setTimeout(() => {
        uni.$emit('bank', this.bank);
  }, 100);

//另一个页面接收
 uni.$on('bank', (bank) => {
      this.bank = bank;
      this.init();
    });

对您有用的话记得点个赞哦 ~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值