wx.navigateBack(OBJECT)怎么携带参数呢?

wx.navigateBack(OBJECT)

关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。

OBJECT 参数说明:

 

参数类型默认值说明
deltaNumber1返回的页面数,如果 delta 大于现有页面数,则返回到首页。

 

示例代码:

// 在C页面内 navigateBack,将返回A页面
wx.navigateBack({
  delta: 2
})

 

第一种携带参数方式返回

let pages = getCurrentPages();//当前页面
let prevPage = pages[pages.length-2];//上一页面
prevPage.setData({//直接给上移页面赋值
  item: e.currentTarget.dataset.item,
  selAddress:'yes'
});
wx.navigateBack({//返回
  delta:1
})

  

第二种携带参数

回到上一页,在data里定义item,selAddress,然后在onshow里

let pages = getCurrentPages();
let currPage = pages[pages.length-1];
 if (currPage.data.selAddress==""){
   that.getUserAddress(that.data.userId);
 }else{
   that.setData({//将携带的参数赋值
     address: currPage.data.item
   });
 }

  参考: https://blog.youkuaiyun.com/Yana_li/article/details/78804165

转载于:https://www.cnblogs.com/zwp06/p/9564414.html

### 微信小程序 `wx.navigateBack` 带参数使用方法 在微信小程序开发过程中,有时需要从目标页面携带数据返回上一页面。虽然官方文档指出 `wx.navigateBack` 不支持直接传递参数,但可以通过全局变量、本地存储或事件机制等方式间接实现这一需求。 #### 方法一:利用全局变量 通过设置全局变量来保存要传递的数据,在调用 `wx.navigateBack` 后可以在前一页获取这些数据[^1]。 ```javascript // 在B页面中准备回退并传参 App.globalData.tempData = { key: "value" }; wx.navigateBack({ delta: 1, }); // A页面onShow生命周期函数读取数据 Page({ onShow() { const tempData = App.globalData.tempData; console.log(tempData); } }); ``` #### 方法二:借助本地缓存 使用 `wx.setStorageSync` 和 `wx.getStorageSync` 来临时存储和检索所需传输的信息[^2]。 ```javascript // B页面写入缓存 wx.setStorageSync('backParam', { paramKey: 'paramValue' }); wx.navigateBack(); // A页面读取缓存 Page({ onShow(){ let backParam = wx.getStorageSync('backParam'); if (backParam){ // 处理接收到的参数... console.log(backParam.paramKey); } } }) ``` #### 方法三:基于自定义事件触发器 如果两个页面存在父子关系,则可采用 `properties` 属性绑定配合 `triggerEvent` 实现通信功能[^3]。 ```html <!-- parent.wxml --> <child-component id="myChildComponent"></child-component> ``` ```javascript // child.js Component({ methods:{ sendDataToParent(data){ this.triggerEvent('customEventName',{data:data}); } } }) // parent.js Page({ onLoad:function(options){ var that=this; this.selectComponent('#myChildComponent').setData({ customCallback:(e)=>{ console.log(e.detail.data);//接收来自子组件的数据 } }) } }) ``` 以上三种方式均可有效解决 `wx.navigateBack` 返回时附带参数的需求,开发者可以根据实际应用场景灵活选用最合适的方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值