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

来源:通义千文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: '你好,我是子组件!' } 作为参数传递。
相关推荐
赵小哥要冲啦1 小时前
社区邻里互助小程序从 0 到 1 复盘:需求拆解与信任机制设计
java·小程序·需求分析
河北清兮网络科技6 小时前
石家庄做一套企业知识库系统多少钱?2026 报价明细
小程序·短剧app·广告联盟
Ai-_Man6 小时前
Coze扣子还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·1024程序员节
微订校园外卖平台7 小时前
新手做校园外卖平台:小程序启动顺序与订单链路验收
小程序·外卖系统·本地生活·微订
计算机毕设定制辅导-无忧学长9 小时前
《基于物品协同过滤的闲置书换购微信小程序设计开发》
java·vue.js·spring boot·微信小程序·uniapp·闲置书换购微信小程序·物品协同过滤算法
ngaiwe19 小时前
AA我来算小程序实践:把付款人、承担人和结算状态分开建模
微信小程序
FX1317887KP_1 天前
KET口语Part 2看图对话怎么练?“观察—提问—回应”;三步法讲透
小程序·ket口语·pet口语·fce备考·剑桥英语
上线再说1 天前
小程序图片处理从 2.9 秒到 420 毫秒:云函数冷启动的 5 个坑
微信小程序
沃达德软件1 天前
智慧教育教学资源管理系统(PC端+微信小程序)
微信小程序·小程序
阿俊-全栈开发1 天前
LikeShop 小程序商城首页可配置弹窗的设计与实现(Java + uni-app)
小程序·状态模式·likeshop·likeshop开源商城