收藏
回答

赋值后用getStorageSync取值的时候Appdata里面为空是怎么回事?

在做获取用户收货地址的api,先用setStorageSync把数据缓存到Storage里了,而且Storage里面是有值的,但是在onshow里面使用getStorageSync赋值之后,Appdata里面却显示为空,这是什么原因?



回答关注问题邀请回答
收藏

2 个回答

  • Vincent
    Vincent
    2022-05-05

    我是用了chooseadress API的,我绑定了一个点击事件,就是点击获取收货地址后,用户授权后,会用收货地址信息替换“获取收货地址”按钮,完整代码如图,这几天看了一下,好像是onLoad和onShow异步的问题,我在onLoad里先定义数组和setData后,APPdata里就有值,但是需要刷新一下页面才会收货地址信息替换“获取收货地址”按钮,还是不知道怎么处理,完整代码如图,求大神答

    图1 js代码

    图2 wxml代码

    图3 async语法

    图4 点击获取地址,Storage中有值

    图5 APPdata里面没有值

    在onLoad里面先定义了数组然后赋值了后,APPdata中有值了,但是获取地址的按钮需要退出购物车页面再点击进来才会替换成地址信息,但cart里的物品信息显示不出来,如下:

    图6 在onLoad中定义和赋值了数组后

    图7 appdata中有值

    图8 再次进入购物车按钮会变成地址信息但cart物品信息显示不出来



    2022-05-05
    有用
    回复
  • 睡前原谅一切
    睡前原谅一切
    2022-05-05

    收货地址 干嘛不用微信提供的 API。 wx.chooseAddress

    https://developers.weixin.qq.com/miniprogram/dev/api/open-api/address/wx.chooseAddress.html


    然后就是看你代码。下面这个代码 存储地址到缓存里是在哪一步操作的,在onShow前还是onShow后呢。建议提供可复现问题的代码片段。

    https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html


    2022-05-05
    有用
    回复
登录 后发表内容