onLoad: function (options) {
var postId = options.id
console.log("文章ID",postId)
this.data.currentPostId = postId
var postData = postsData.postList[postId]
this.setData({postData})
var postsCollected = wx.getStorageSync('postsCollected')
if(postsCollected){
var postCollected = postsCollected[postId]
if(postCollected){
this.setData({
collected: postCollected
})
}
}
else{
var postsCollected = {}
postsCollected[postId] = false
wx.setStorageSync('postsCollected', postsCollected)
}
},
onCollectionTap:function(){
var postsCollected = wx.getStorageSync('postsCollected')
var collected = postsCollected[this.data.currentPostId]
collected = !collected
postsCollected[this.data.currentPostId] = collected
wx.setStorageSync('postsCollected', postsCollected)
this.setData({collected})
},
postsCollected是总列表,用来储存对应的ID和收藏情况
注意onload函数里两次判空
下面的collected是所在页面的情况,this.data.currentPostID使我们预先把ID打入到data里,好在其他函数中调用
取反并更新后重新载入整个缓存刷新,最后写入数据