收藏
回答

wx.getStorageSync获取值能获取到上一次存取的值,而不是实时更新?

这是官方自定义tabbar组件链接https://developers.weixin.qq.com/miniprogram/dev/framework/ability/custom-tabbar.html,各位看最后的示例代码

我复制的就是这个,购物车数量添加减少时要实时更新,所以只能通过存缓存要获取购物车数量,取到缓存数据是实时的,但是官方自定义tabbar组件内并没有更新,还是上一步操作的结果,下面的是点击导航栏会触发该方法:

 methods: {

    switchTab(e) {

      this.setData({

        num:wx.getStorageSync('car_num'),

      })

      // console.log('跳转',this.data.num)

      const data = e.currentTarget.dataset

      const url = data.path

      wx.switchTab({url})

      this.setData({

        selected: data.index,

      })

    }

  }

这个是在组件实例进入页面节点树时执行

lifetimes: {

    attached: function() {

      // console.log('进来了',wx.getStorageSync('car_num'))

      this.setData({

        num:wx.getStorageSync('car_num'),

      })

    },

  },

所以各位大神有没有解决的方法

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

2 个回答

  • 神经蛙
    神经蛙
    2021-08-10

    写一个倒计时函数,在tabbar页的时候调用它,一秒查一次去更新

    2021-08-10
    有用 1
    回复 4
    • 戏子无情
      戏子无情
      2021-08-10
      主要是从别的页面返回tabbar不会触发任何事件
      2021-08-10
      回复
    • 神经蛙
      神经蛙
      2021-08-11回复戏子无情
      onshow执行啊
      2021-08-11
      回复
    • 戏子无情
      戏子无情
      2021-08-11回复神经蛙
      pageLifetimes: {
          show: function() {
            // 页面被展示
            console.log('每次会进来吗')
          },
          hide: function() {
            // 页面被隐藏
          },
          resize: function(size) {
            // 页面尺寸变化
          }
        },
      我再onshow打印没有打印成功,没触发
      2021-08-11
      回复
    • 神经蛙
      神经蛙
      2021-08-11回复戏子无情
      复现问题的代码片段发下https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
      2021-08-11
      回复
  • Fish
    Fish
    2021-09-03

    楼主问题解决了吗,我也遇到相似问题了

    2021-09-03
    有用
    回复
登录 后发表内容