微信小程序子组件调用父组件的方法

来源:通义千文2.5

步骤 1: 定义父组件中的方法

首先,在父组件中定义一个方法(如 handleClick),并准备一个用于接收子组件传来的数据的方法。

父组件(Parent.wxml)
复制代码
html
javascript 复制代码
<!-- parent.wxml -->
<view class="parent">
  <view>这是父组件</view>
  <child id="childComponent" bind:customEvent="handleClickFromChild"></child>
</view>
父组件逻辑文件(Parent.js)
javascript 复制代码
// parent.js
Page({
  data: {
    message: ''
  },
  handleClickFromChild: function (e) {
    console.log('接收到子组件的数据:', e.detail);
    this.setData({
      message: e.detail.message
    });
  }
});

步骤 2: 在子组件中触发事件

接下来,在子组件中触发一个自定义事件,将数据传递给父组件。

子组件模板文件(Child.wxml)
javascript 复制代码
<!-- child.wxml -->
<view class="child">
  <button bindtap="sendDataToParent">发送数据给父组件</button>
</view>
子组件逻辑文件(Child.js)
javascript 复制代码
// child.js
Component({
  methods: {
    sendDataToParent: function () {
      var data = { message: '你好,我是子组件!' };
      this.triggerEvent('customEvent', data);
    }
  }
});

详解this.triggerEvent('customEvent', data)

  1. this 关键字:

    • 在子组件的方法内部,this 指向当前组件实例。这意味着你可以使用 this 来访问组件的状态、属性和方法等。
  2. triggerEvent 方法:

    • triggerEvent 是微信小程序提供的一个API,用于在组件内部触发一个自定义事件。它接受两个参数:
      • 第一个参数是一个字符串,表示事件的名称;
      • 第二个参数是事件携带的数据。
  3. 事件名称:

    • 在本例中,事件名称为 'customEvent'。你需要确保这个事件名称与你在父组件中绑定的事件名称一致,这样父组件才能正确地接收到事件。
  4. 传递的数据:

    • 事件可以携带数据。在这个例子中,data 变量包含了一个对象 { message: '你好,我是子组件!' }。这个对象将作为事件的一部分被传递到父组件。
  5. 调用 triggerEvent 方法:

    • sendDataToParent 方法被调用时(例如,当用户点击子组件中的按钮时),triggerEvent 方法就会被调用,触发一个名为 'customEvent' 的事件,并将数据对象 { message: '你好,我是子组件!' } 作为参数传递。
相关推荐
自然 醒11 分钟前
uni-app开发微信小程序,如何使用towxml去渲染md格式和html标签格式的内容?
微信小程序·uni-app·html
编程迪17 分钟前
基于Java和Vue开发的在线问诊系统医疗咨询小程序APP
小程序
CHU7290352 小时前
知识触手可及:在线教学课堂APP的沉浸式学习体验
前端·学习·小程序
竟未曾年少轻狂2 小时前
微信小程序-组件开发
微信小程序·小程序
CHU7290352 小时前
在线教学课堂APP功能版块设计方案:重构学习场景的交互逻辑
java·学习·小程序·重构
焦糖玛奇朵婷3 小时前
盲盒小程序开发,盲盒小程序怎么做
java·大数据·服务器·前端·小程序
想七想八不如114083 小时前
【GitHub开源】一款极简跨平台 Todo 应用:微信小程序 + Windows 桌面挂件 + 实时同步
微信小程序·开源·github
笨笨狗吞噬者3 小时前
代理的妙用:uni-app 小程序是怎样用 `Proxy` 和 `wrapper` 抹平平台差异的
前端·微信小程序·uni-app
CHU7290351 天前
便捷约玩,沉浸推理:线上剧本杀APP功能版块设计详解
前端·小程序
Ai老司机1 天前
Notepad++ 中文版下载安装完整指南(2026最新,8.9.3版)
文本编辑器·notepad++·代码编辑器·notepad++下载·notepad++安装教程·notepad++中文版·免费编辑器