点击收藏报错
来源: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
相似问题