在小程序中,页面之间传递参数有多种方式。以下是常用的几种传参方式:
- URL 参数: 在小程序中,页面之间可以通过URL参数传递数据。你可以在目标页面的URL中携带参数,然后在目标页面的
onLoad
生命周期函数中获取这些参数。
在源页面中跳转到目标页面:
wx.navigateTo({ url: '/pages/targetPage/targetPage?param1=value1¶m2=value2', });
在目标页面的onLoad
中获取参数:
onLoad(options) { const param1 = options.param1; const param2 = options.param2; // ... }
2. 全局数据或app.js: 你也可以将要传递的数据存储在小程序的app.js
中,然后在目标页面中通过getApp()
来获取。
在app.js中:
App({ globalData: { param1: 'value1', param2: 'value2', } });
const app = getApp(); const param1 = app.globalData.param1; const param2 = app.globalData.param2;
3. 页面栈传参: 在页面栈中,你可以通过调用getCurrentPages()
获取页面栈,然后访问栈中的前一个页面来传递参数。
在源页面中:
const pages = getCurrentPages(); const prevPage = pages[pages.length - 2]; prevPage.setData({ param1: 'value1', param2: 'value2', }); wx.navigateBack();
- 在目标页面中可以在
onShow
等生命周期函数中获取这些数据。 - 事件传参: 如果页面之间有事件交互,你可以通过事件的参数来传递数据。比如在源页面触发事件,然后在目标页面监听这个事件并获取数据。
这些都是小程序中常用的页面传参方式,你可以根据具体场景选择最适合的方式来实现页面之间的数据传递。