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
})
}