小程序自定义tabbar动态更新购物车数量

小程序自定义tabbar动态更新购物车数量,用常规的组件间传值方法似是不可行。实践分两步可行:

每一步,加入购物车成功时定义缓存Storage值,如

let _num = wx.setStorageSync('CART_COUNT', num);
this.setData({cart_count: _num});

组件内初始读取CART_COUNT值并显示;

第二步,加入购物车成功时 通过getTabBar接口动态更新cart_count值:

this.getTabBar().setData({
    cart_count: num,
})

例如整合一个处理函数:

updateCartCount: function (num = 0) {
    wx.setStorageSync('CART_COUNT', num);

    if (typeof this.getTabBar === 'function' &&
        this.getTabBar()) {
        this.getTabBar().setData({
            cart_count: num,
        })
    }
}

完。