请问小程序开发中,遇到一个不知道怎么处理的事,想请大家帮忙给个思路?-灵析社区

0offer糕手

![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250112/de4586d1f34df9af653bf2bf1693b791.png) ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250112/eb171d3e08e7d98df52802d533c1811d.png) ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250112/192b89846069f34136261007cbc44a16.png) 我有上图三个页面,跳转逻辑依次排列, 当我到第三张图,开始地图选点的时候 选择完点击确认选点,这里会自动回到图2,也就是选择收货地址页面,然后在图2的onshow生命周期中接受选择的位置信息数据, 但是实际上我是想直接回到图1的,并把数据传过去的, 当在地图选点页面点击确认选点后,我在图2的onshow 生命周期中写了如下代码: onShow: function onShow() { const chooseLocation = requirePlugin('chooseLocation'); const location = chooseLocation.getLocation(); console.log(location,'location89898') // var map_city = wx.getStorageSync('map_city'); // wx.setStorageSync('map_city', location); if(location != undefined){ // var pages = getCurrentPages(); // var prevpage = pages[pages.length - 2]; // prevpage.setData({ // back_latitude: location.latitude, // back_longitude: location.longitude, // back_addrss_all:location.address // }); wx.setStorageSync('map_city', location); // wx.switchTab({ // url: '/pages/my_city/index' // }); // wx.navigateBack({ // //返回 // delta: 2 // }) } } 我是用了两种方法, 一种是在图2 onshow生命周期中本地存储数据,然后再wx.switchTab回到图1 还有一种就是在图2 onshow生命周期中 直接通过prevpage.setData 传递参数 然后直接返回前两页 wx.navigateBack({ delta: 2 }) 这两种方法都能让我在图1 接收到数据,但是有个问题就是,因为我在图2的生命周期中,加了返回页面或者直接wx.switchTab回到图1 但是我发现,图2的onshow 接收的数据会一直缓存,我现在无法再通过图1点击回到图2,因为始终会触发返回图1的事件,这种情况,不知道到底如何处理比较合适,清除本地存储 感觉也不合适,不知道小程序有什么类似清除onshow生命周期的缓存的方法吗?

阅读量:214

点赞量:16

问AI
图2的缓存你用完了可以删除呀