小程序父子组件传递的两种方式

写这个是为了接下来的小程序代码里我自己不用查阅文档了,把最需要的给总结出来了。
因为是给自己看的,所以有一些细节就省略了

第一种,父向子传值

主要是用properties字段来传值

子组件JS代码
Component({
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
    innerText: {
      type: String,
      value: 'default value',
    },
    test1:{
      type:Number,
      value:0
    }
  },
  data: {
    // 这里是一些组件内部数据
    someData: {}
  },
  methods: {
    // 这里是一个自定义方法
    customMethod: function(){},
  },
  options: {
    multipleSlots: true, // 在组件定义时的选项中启用多slot支持
  },
})
父组件(页面)WXML代码

可以看到父组件的test1属性和子组件的test1是对应的,inner-text和innerText是对应的

<s-test inner-text="Some text" test1="{{test}}"> </s-test>

第二种,子向父传值

子组件JS代码
// components/order/index.js
Component({
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
  },
  data: {
    // 这里是一些组件内部数据
    someData: {}
  },
  methods: {
    // 这里是一个自定义方法
    customMethod: function(){},
    
    onTap: function(){
      var myEventDetail = {
        key1:"1",
        arr1:[],
        key2:123
      } // detail对象,提供给事件监听函数
      var myEventOption = {} // 触发事件的选项
      this.triggerEvent('myevent', myEventDetail, myEventOption)
    }
  },
  options: {
    multipleSlots: true, // 在组件定义时的选项中启用多slot支持
  },
})
子组件WXML代码
<button bindtap="onTap">点击这个按钮将触发“myevent”事件</button>
父组件WXML代码
<s-test bindmyevent="onMyEvent"></s-test>
父组件JS代码
onMyEvent: function(e){
      console.log("e==",e)自定义组件触发事件时提供的e对象
},
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值