小程序父子组件传值

首先子组件必须是自定义的组件.不能是page里边创建的页面.
父向子传值
父组件代码

<view>
<!-- 这里是父组件的wxml文件代码 -->
<com1 msgAtoB="{{msgAtoB}}" ></com1>
<!--msgAtoB将父组件信息传给子组件 -->
</view>

这里是父组件的json文件代码

{
  "component": true,
  "usingComponents":{
    "com1":"../../components/child2/child2"
这里要设置子组件的标签名和子组件的相对路径(复制代码后将此行删除,json文件不能有注释)
  }
}

这里是父组件的js文件代码

Page({
  data: {
    msgAtoB: "这是父向子传递的信息",
  },
  hahaha:function(e){
    this.setData({
      msgBtoA: e.detail.msgBtoA
    })
  }
})

这里是子组件的wxml文件代码

<view>
{{msgAtoB}}
</view>

这里是子组件的js文件代码

Component({
  properties:{
    msgAtoB:{
      type:String//设置父组件的数据格式
    }
  }
})

子向父传值
父组件wxml代码

<view>
<!-- 这里是父组件的wxml文件代码 -->
<com1 msgAtoB="{{msgAtoB}}" bind:myevent="hahaha"></com1>
<!--msgAtoB将父组件信息传给子组件 ,bind:myevent通过事件绑定来接收子组件的消息 -->
{{msgBtoA}}
</view>

这里是父组件的json文件代码和之前一样,无改动

这里是父组件的js文件代码

Page({

  /**
   * 页面的初始数据
   */
  data: {
    msgAtoB: "这是父向子传递的信息",
    msgBtoA:"这里接收儿子的信息"
  },
  hahaha:function(e){
    this.setData({
      msgBtoA: e.detail.msgBtoA
    })
  },
})

这里是子组件的wxml文件代码

<view>
{{msgAtoB}}
<button bindtap='send'>按钮</button>
{{msgBtoA}}
</view>

这里是子组件的js文件代码

Component({
  properties:{
    msgAtoB:{
      type:String//设置父组件的数据格式
    }
  },
  data:{},
  methods:{
    send:function(){
      this.triggerEvent("myevent", { msgBtoA:"儿子的信息传过来了"})
    }
  },

})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容