小程序返回上一页传参
时间: 2023-09-22 08:06:00 浏览: 115
在小程序中,返回上一页并传递参数可以通过以下步骤实现:
1. 首先,使用`wx.navigateBack()`方法返回上一页。该方法可以接收一个参数,表示返回的页面数,默认值为1。例如,如果要返回上一页,可以使用`wx.navigateBack()`或`wx.navigateBack(1)`。
2. 在返回上一页的同时传递参数,可以使用`getCurrentPages()`方法获取当前页面栈。该方法返回一个数组,包含所有当前页面的栈信息,最后一个元素即为当前页面。
3. 获取当前页面对象后,可以使用`setData()`方法设置页面的data属性,传递需要的参数。例如,如果要传递一个名为`param`的参数,可以使用`this.setData({ param: value })`。
4. 在上一页的`onLoad()`生命周期函数中,可以通过`options`参数获取传递的参数值。例如,如果要获取名为`param`的参数值,可以使用`options.param`。
下面是一个示例代码:
当前页(page1):
```javascript
// 返回上一页,并传递参数
wx.navigateBack({
delta: 1,
success: function () {
// 获取当前页面对象
const pages = getCurrentPages();
const prevPage = pages[pages.length - 1];
// 设置参数
prevPage.setData({
param: value
});
}
});
```
上一页(page2):
```javascript
Page({
onLoad: function (options) {
// 获取传递的参数值
const paramValue = options.param;
console.log(paramValue);
}
});
```
在上述示例中,我们在当前页调用`wx.navigateBack()`方法返回上一页,并使用`setData()`方法设置了参数`param`的值。在上一页的`onLoad()`生命周期函数中,通过`options`参数获取了传递的参数值,并将其打印到控制台上。
请注意,返回上一页并传递参数只适用于返回到小程序的上一页。如果要跳转到其他页面并传递参数,可以使用`wx.navigateTo()`方法,并在目标页的`onLoad()`生命周期函数中获取传递的参数。
阅读全文