微信小程序点击按钮返回上级页面并携带数据 (适用于从不同的页面进入该页面,该页面点击时返回上级页面)

本文介绍了一个简单的微信小程序中页面间数据传递的方法。通过在子页面使用bindtap绑定点击事件,并在事件处理函数中利用getCurrentPages获取页面栈,将数据从子页面传回父页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.上级页面
data: {
    itemPage:'',
  },
Collect: function () {
    wx.navigateTo({
      url: '../Address_list/Address_list'
    })  //跳到子页面
  },
2.子页面:
wxml:
<view bindtap='to_confirm' data-text='{{item}}'></view>
js:
to_confirm:function(e){
    let itemPage = e.currentTarget.dataset.text  //获取页面数据信息
    var pages = getCurrentPages(); 
    var currPage = pages[pages.length - 1];   //当前页面
    var prevPage = pages[pages.length - 2];  //上一个页面
    prevPage.setData({
      itemPage: itemPage,
    })        //给上级页面的变量赋值
      wx.navigateBack()  //返回上级页面
  },
### 微信小程序实现点击按钮触发分享功能 在微信小程序中,通过调用 `wx.onShareAppMessage` 或者配置页面的 `onShareAppMessage` 方法可以实现分享功能[^1]。以下是具体的实现方式以及示例代码: #### 配置页面分享功能 为了使页面支持分享操作,需要在对应的页面逻辑文件(`.js` 文件)中定义 `onShareAppMessage` 函数。该函数会在用户点击右上角菜单中的“转发”按钮或者自定义按钮被触发。 ```javascript Page({ onShareAppMessage() { return { title: '这是一个分享标题', // 设置分享出去后的标题 path: '/pages/index/index?userId=123', // 设置分享路径,可带参数 imageUrl: 'https://example.com/share-image.png' // 自定义分享图标 }; } }); ``` 上述代码实现了当用户点击默认分享按钮,会携带指定的标题、路径和图片进行分享。 #### 添加自定义按钮触发分享 如果希望由某个特定按钮触发分享行为,则可以在绑定事件处理程序的同手动调用 `wx.shareAppMessage` 接口完成此操作。需要注意的是,这种方式仅适用于某些特殊场景下的主动触发,而大多数情况下推荐使用右上角菜单的方式。 下面是一个例子展示如何设置一个按钮用于启动分享流程: HTML部分: ```html <button bindtap="handleCustomShare">点击这里分享</button> ``` JS部分: ```javascript Page({ handleCustomShare(e) { wx.showShareMenu({ withShareTicket: true }); // 显示当前页面的分享选项卡 const shareData = this.onShareAppMessage(); // 调用已有的分享方法获取数据 wx.hideShareMenu(); // 可选:隐藏原生分享入口以防重复显示 console.log('模拟分享:', shareData); // 如果需要真正执行分享动作则需依赖系统回调机制而非直接发起请求 }, onShareAppMessage() { return { title: '来自我的应用', path: '/index' }; } }) ``` 注意,在实际项目里可能还需要考虑权限控制等问题[^2]。 另外值得注意的一点是关于退出或关闭整个小程序的操作非经由常规意义上的‘分享’途径达成;而是借助 `<navigator>` 组件配合属性设定来完成相应任务[^3] 。不过这不属于本话题讨论范畴之内。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值