这个问题我已经弄了两天了,都弄到凌晨12点,还是解决不了。是我的代码不对,还是函数的BUG?
无法获取实时的数值,只能获取上一次的数值,为什么呢?
如果使用同步缓存,则无法实时获取数据,显示的是上一次的选项;
如果使用异步缓存,则只能在同一页面内使用,无法跨页获取数据(无法传递数据)
【场景】
pageA有三道选择题,用户选择好之后,跳转到pageB会在页面显示刚刚的选择:“您刚刚的选择分别是:B、C、A”
【代码思路】
(1)在pageA定义一个数组arrayA:
var arrayA = [{ text: 'A' }, { text: 'A' }, { text: 'A' }];
(2)用户操作后arrayA获取值(确实获取到了,我通过wx.showToast检验,显示数组已经获得值):
wx.setStorageSync('arrayA', arrayA)
(3)在B的js中获取数值:
Page({
data:{
arrayB: wx.getStorageSync('arrayA'),
},
})
(4)在B的wxml中显示值:
<text class='what' style='red'>
您刚刚的选择分别是:{{arrayA}}
</text>
【问题】
为什么显示的是再上一次的操作呢?比如这次我选了AAB,显示的却是我上一次的选择CCA。
重新加载后,我选了BBB,显示的却是AAB……
什么情况???
如果使用同步缓存,则无法实时获取数据,显示的是上一次的选项;
如果使用异步缓存,则只能在同一页面内使用,无法跨页获取数据(无法传递数据)
那么到底怎么做,才能实现pageA里获取的数据后,在跳转pageB时可以显示刚刚获取的数据呢?
这个问题我已经弄了两天了,都弄到凌晨12点,还是解决不了。是我的代码不对,还是函数的BUG?
arrayB: wx.getStorageSync('arrayA'),在B页面onload里再设置下呢
我也遇到了同样的问题,同样很疑惑,不知道楼主问题解决了吗?
之后我看到了这篇帖子 ,打算回去试一下这个库
https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=000884f4998600f04366d059b5b006&highline=setstorage