微信小程序-传递数据子传父

简介: 在看到此篇文章之前,如果你学习过了 Vue,那么这个内容对你而言就是切菜一样简单,老样子,我们先搭建我们的组件,然后在来看需要介绍的知识点。

在看到此篇文章之前,如果你学习过了 Vue,那么这个内容对你而言就是切菜一样简单,老样子,我们先搭建我们的组件,然后在来看需要介绍的知识点。


创建自定义组件


新建 c-demo:


页面的内容大致就是给一个 view 组件绑定了一个点击事件,点击的时候调用 onTitleTap,在组件当中方法的定义要写在 methods 当中这里是一个注意点,然后通过 mark:xxx 的方式传递了数据。

<!-- 
  c-demo.wxml
 -->
<view>
  <view 
  bindtap="onTitleTap"
  mark:abc="{{title}}"
  >我是 demo 的 title view {{title}}</view>
  <view>我是 demo 的 content view {{content}}</view>
</view>


JS:


在我们的触发方法当中,我们拿到了传递的数据,然后通过 this.triggerEvent("demoTitleClick", curTitle); 主动触发事件的方式传递了一个 title 数据给调用者。

// components/c-demo/c-demo.js
Component({
  /**
   * 组件的初始数据
   */
  data: {
    title: 'BNTang',
    content: 'BNTang content'
  },
  /**
   * 组件的方法列表
   */
  methods: {
    onTitleTap(e) {
      console.log("触发了 c-demo 的 onTitleTap", e);
      const curTitle = e.mark.abc;
      console.log("拿到了当前点击的标题内容:", curTitle);
      this.triggerEvent("demoTitleClick", curTitle);
    }
  }
})


首页的 WXML:


我在首页当中使用了上面新建的 c-demo 组件,绑定了在 c-demo 当中自定义的事件。

<!-- 
  index.wxml
 -->
<myDemo bind:demoTitleClick="sectionTitleClick"/>


首页的 JS:


在 c-demo 的自定义事件当中,传递了一个数据到事件对象中,这里我们可以通过 事件对象.detail 的方式进行获取数据。

// index.js
Page({
  sectionTitleClick(e) {
    console.log("页面监听到了组件触发的事件");
    console.log("在页面中拿到了自定义组件传递过来的数据", e.detail);
  }
})


总结


?> 想从组件中传递数据给页面,只需要在组件中通过 this.triggerEvent("自定义事件名称", "传递的数据"); 这种方式主动触发自定义事件,然后在页面使用这个组件的时候,绑定 triggerEvent 主动触发的自定义事件,就可以在绑定的自定义事件监听方法中,通过事件对象拿到组件传递过来的数据了。

2105804-20230514160748856-1774503522.png

目录
相关文章
|
4月前
|
JSON 安全 定位技术
微信附近人提取v3脚本, 微信附近人id提取技术插件,采集附近人wxid数据工具
本内容介绍微信“附近的人”功能的技术原理与实现方法,基于LBS服务,涉及位置模拟、协议分析及数据解析。通过修改GPS坐标或使用Frida等工具hook位置函数
|
存储 安全 小程序
在微信小程序中使用 Vant 时如何确保数据的安全?
在微信小程序中使用 Vant 时如何确保数据的安全?
174 1
|
8月前
|
缓存 小程序 API
微信小程序页面导航与路由:实现多页面跳转与数据传递
本文深入探讨微信小程序的页面导航与路由机制,介绍多种页面跳转方式如`wx.navigateTo`、`wx.redirectTo`、`wx.switchTab`等,并讲解通过URL、全局变量和事件传递数据的方法。结合案例实现多页面跳转与数据传递,帮助开发者掌握这一重要技能。
|
8月前
|
缓存 小程序 API
微信小程序网络请求与API调用:实现数据交互
本文深入探讨了微信小程序的网络请求与API调用,涵盖`wx.request`的基本用法、常见场景(如获取数据、提交表单、上传和下载文件)及注意事项(如域名配置、HTTPS协议、超时设置和并发限制)。通过一个简单案例,演示了如何实现小程序与服务器的数据交互。掌握这些技能将帮助你构建功能更丰富的应用。
|
12月前
|
小程序 JavaScript 开发工具
微信小程序——全局数据共享
【10月更文挑战第5天】
|
12月前
|
缓存 小程序 UED
如何利用小程序的生命周期函数实现数据的加载和更新?
如何利用小程序的生命周期函数实现数据的加载和更新?
285 4
|
12月前
|
移动开发 小程序 数据可视化
微信小程序可视化开发工具之动态数据
微信小程序可视化开发工具之动态数据
216 4
|
小程序 开发者
微信小程序之网络数据请求 wx:request的简单使用
这篇文章介绍了微信小程序中如何使用wx.request进行网络数据请求,包括请求的配置、请求的格式以及如何在开发阶段关闭请求的合法检验。
微信小程序之网络数据请求 wx:request的简单使用
|
6月前
|
监控 前端开发 小程序
陪练,代练,护航,代打小程序源码/前端UNIAPP-VUE2.0开发 后端Thinkphp6管理/具备家政服务的综合型平台
这款APP通过技术创新,将代练、家政、娱乐社交等场景融合,打造“全能型生活服务生态圈”。以代练为切入点,提供模块化代码支持快速搭建平台,结合智能匹配与技能审核机制,拓展家政服务和商业管理功能。技术架构具备高安全性和扩展性,支持多业务复用,如押金冻结、录屏监控等功能跨领域应用。商业模式多元,包括交易抽成、增值服务及广告联名,同时设计跨领域积分体系提升用户粘性,实现生态共生与B端赋能。
493 12
|
9月前
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
314 0

热门文章

最新文章