点击收藏报错
来源:19-7 使用缓存实现文章收藏功能

EugenioCode
2017-07-18
Page({ data: { }, onLoad: function (option) { wx.clearStorage(); var postId = option.id; this.data.currentPostId = postId; var postData = postsData.postList[postId]; this.setData({ postData: postData }); // var postCollected = { // 1:"true", // 2:"false", // 3:"true" // } var postsCollected = wx.getStorageSync('posts_collected') if (postsCollected) { var postCollected = postsCollected[postId] this.setData({ collected: postCollected }) } else { var postsCollected = {}; postsCollected[postId] = false; wx.setStorageSync('posts_collected', postsCollected); } }, onCollectionTap: function (event) { var postsCollected = wx.getStorageSync("post_collected"); var postCollected = postsCollected[this.data.currentPostId]; //收藏变成未收藏,未收藏变成收藏 postCollected = !postCollected; postsCollected[this.data.currentPostId] = postCollected; //更新文章是否收藏的缓存值 wx.setStorageSync("post_collected", postsCollected); //更新数据绑定变量,从而切换图片 this.setData({ collected: postCollected }) } })
点击收藏后报错
摸不着头脑
写回答
4回答
-
这个就是 代码写错了,你把字符串当做数据去读了。调试一下看一下为什么本来应该是数组的地方变成了 字符串。
042017-07-26 -
Ethreal
2017-10-16
解决了 应该是post.js
this.setData({
postList: postsData.postList
});
应该是这样 之前写错了 我也出现了这个错误 看半天原来是这一步错 跟以后出现同类错误的做个参考
00 -
qq_岐有此理_0
2017-09-19
33行 post_collected 你这个键少了个s 应该是 posts_collected ,
00 -
晴书
2017-09-03
我的问题和你的一样,但我还是没找到是哪个地方出了问题 请问你找到是哪个位置的问题了吗
032017-09-20
相似问题