跨页面通信和数据传递在微信小程序中非常常见,常用的方法有通过页面跳转传递参数、通过全局变量传递数据、通过事件总线传递数据等。下面是对这些方法的详细介绍和代码示例。
一、通过页面跳转传递参数 在小程序中,我们可以通过页面跳转时传递参数的方式实现跨页面通信和数据传递。传递参数的方式有两种:通过URL参数传递和通过options参数传递。
- 通过URL参数传递 通过URL参数传递参数是在页面跳转时,在URL中添加参数信息。接收参数的页面可以通过
getCurrentPages()
方法获取当前页面栈,通过options
属性获取传递过来的参数。
示例代码如下:
1.1 页面A跳转到页面B,并传递参数:
// 页面A.js
wx.navigateTo({
url: '/pages/B/B?param1=value1¶m2=value2'
})
1.2 页面B接收参数:
// 页面B.js
Page({
onLoad: function (options) {
console.log(options.param1) // 输出:value1
console.log(options.param2) // 输出:value2
}
})
通过URL传递参数的方式适用于需要传递少量简单数据的情况。
- 通过options参数传递 通过options参数传递参数是在页面跳转时,在options参数中添加参数信息。接收参数的页面可以通过
getCurrentPages()
方法获取当前页面栈,通