Cannot create property '0' on boolean 'true';
来源:19-7 使用缓存实现文章收藏功能
墨香书虫
2019-12-30
此处报错,断点之后发现是在点击事件的地方出错。仔细排查,发现:postsCollected,postCollected两个对象搞混。
有点尴尬,调试工具也不会报错,不能明确到哪里错了。对象命名以后得尽可能可以较好的区分,避免代码写出。
写回答
2回答
-
墨香书虫
提问者
2019-12-30
/** * 生命周期函数--监听页面加载 */ onLoad: function(options) { var postId = options.id this.data.currentPostId = postId console.log(postId) var postData = postsData.postList[postId] console.log(postData)this.setData({ postData: postData }) var postsCollected = wx.getStorageSync('posts_collected') if(postsCollected){ var postCollected = postsCollected[postId] if(postCollected){ this.setData({ collected: postCollected }) }else { var postsCollected = {}; postsCollected[postId] = false; wx.setStorageSync('posts_collected', postsCollected) } } onCollectionTap: function (event) { var postsCollected = wx.getStorageSync('posts_collected'); var postCollected = postsCollected[this.data.currentPostId]; //收藏变成为收藏,未收藏变成已收藏 postCollected = !postCollected; postsCollected[this.data.currentPostId] = postCollected; //更新文章是否收藏的缓存值 wx.setStorageSync('posts_collected', postsCollected); //更新数据绑定变量,从而实现切换图片 this.setData({ collected: postCollected }) },
10 -
7七月
2019-12-31
这是js的特点,很多都不会报错的。写代码还是要仔细一点,可以用List做变量结尾
00
相似问题