通过扫描微信接口生成的二维码,识别二维码内容。传递参数到相同页面,第一次进入后页面展示内容正确。点击右上角小程序圆圈关闭小程序,再次扫描另一个二维码,同样跳转相同页面但是传递参数不一样,页面显示的内容还是第一次的内容。再次关闭页面后扫描第二个二维码页面显示正常了。请问这个应该怎么处理呀,扫描二维码跳转相同页面,参数不一样,页面第一次会展示首先识别到的内容。
跳转的方式我都试过了,navigateTo、redirectTo、reLaunch我都试过,页面还是一样的
通过扫描微信接口生成的二维码,识别二维码内容。传递参数到相同页面,第一次进入后页面展示内容正确。点击右上角小程序圆圈关闭小程序,再次扫描另一个二维码,同样跳转相同页面但是传递参数不一样,页面显示的内容还是第一次的内容。再次关闭页面后扫描第二个二维码页面显示正常了。请问这个应该怎么处理呀,扫描二维码跳转相同页面,参数不一样,页面第一次会展示首先识别到的内容。
跳转的方式我都试过了,navigateTo、redirectTo、reLaunch我都试过,页面还是一样的
中午好🌞🌞🌞
本答案参考ChatGPT-3.5
问题分析:由于小程序的页面是单例的,所以在跳转相同页面时,并不会重新创建一个新的页面。因此,第二次进入页面时,页面并不会重新加载数据。
解决方案:为了解决这个问题,我们可以在页面的 onLoad 方法中获取当前页面的参数,并进行处理展示,在 onShow 方法中也可以获取页面的参数,并更新页面的数据。具体操作步骤如下:
代码示例:
Page({
data: {
// 页面数据
},
onLoad: function (options) {
// 获取当前页面的参数,并进行处理展示
this.setData({
// 设置页面数据
});
},
onShow: function () {
// 获取当前页面的参数,并更新页面数据
this.setData({
// 设置页面数据
});
}
})