收藏功能的展示

handleCollect(){
    //1.标志取反 基础效果
    let isCollected = !this.data.isCollected;
    this.setData({
      isCollected
    })
    console.log(this.data.isCollected)
    //2.利用缓存对象obj={0: false, 1: true}的方式进行存储
    //缺点: 会将原来的数据覆盖
    let index = this.data.index;
    wx.getStorage({
      key: 'isCollected',
      success: (datas) => {
        //3.先读入本地缓存,再将本次点击的结果存入obj
        let obj = datas.data;
        obj[index] = isCollected;
        wx.setStorage({
          key: 'isCollected',
          data: obj,
          success: () => {
           console.log('缓存成功')
          }
        })
      }
    })
  },

生命周期函数onLoad:

//4.设置初始是否收藏状态
    let detailStorage = wx.getStorageSync('isCollected');
    //初始化空对象
    if (!detailStorage) {
      wx.setStorage({
        key: 'isCollected',
        data: {},
      })
    }
    //如果收藏过那么为true

    if(detailStorage[index]){
      this.setData({
        isCollected: true
      })
    } 
发布了31 篇原创文章 · 获赞 1 · 访问量 834

猜你喜欢

转载自blog.csdn.net/weixin_43844975/article/details/103807945
今日推荐