收藏
回答

如何实现跨页实时获取数据?(跪求各路大神)

问题模块 框架类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 wx.setStorageSync 工具 6.6.3 6.6.3

这个问题我已经弄了两天了,都弄到凌晨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:{

        arrayBwx.getStorageSync('arrayA'),

    },

})


(4)在B的wxml中显示值:

<text class='what' style='red'>

刚刚的选择分别是:{{arrayA}}

</text>


【问题】

为什么显示的是再上一次的操作呢?比如这次我选了AAB,显示的却是我上一次的选择CCA。

重新加载后,我选了BBB,显示的却是AAB……

什么情况???

如果使用同步缓存,则无法实时获取数据,显示的是上一次的选项;

如果使用异步缓存,则只能在同一页面内使用,无法跨页获取数据(无法传递数据)


那么到底怎么做,才能实现pageA里获取的数据后,在跳转pageB时可以显示刚刚获取的数据呢?


这个问题我已经弄了两天了,都弄到凌晨12点,还是解决不了。是我的代码不对,还是函数的BUG?

最后一次编辑于  2018-02-13  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • dds阿杜
    dds阿杜
    2018-12-27

    arrayBwx.getStorageSync('arrayA'),在B页面onload里再设置下呢

    2018-12-27
    赞同
    回复
  • 忘掉种过的花
    忘掉种过的花
    2018-04-13

    我也遇到了同样的问题,同样很疑惑,不知道楼主问题解决了吗?

    之后我看到了这篇帖子 ,打算回去试一下这个库

    https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=000884f4998600f04366d059b5b006&highline=setstorage


    2018-04-13
    赞同
    回复