点击收藏报错

来源: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
        })
    }

})

点击收藏后报错

http://szimg.mukewang.com/596e211800016e4008800193.jpg

摸不着头脑


写回答

4回答

7七月

2017-07-19

这个就是 代码写错了,你把字符串当做数据去读了。调试一下看一下为什么本来应该是数组的地方变成了 字符串。

0
4
EugenioCode
回复
normcore
老师已经给出了错误原因,你打断点调试一下吧
2017-07-26
共4条回复

Ethreal

2017-10-16

解决了 应该是post.js   

this.setData({

postList: postsData.postList

});

应该是这样 之前写错了 我也出现了这个错误 看半天原来是这一步错 跟以后出现同类错误的做个参考

0
0

qq_岐有此理_0

2017-09-19

33行 post_collected 你这个键少了个s  应该是 posts_collected ,

0
0

晴书

2017-09-03

我的问题和你的一样,但我还是没找到是哪个地方出了问题 请问你找到是哪个位置的问题了吗


0
3
qq_岐有此理_0
他在onlond 中添加缓存的名称posts_collected , onCollectionTap方法中提取、修改缓存的名称又写成post_collected 。。。能调出来就见鬼了
2017-09-20
共3条回复

微信小程序入门与实战(全新版) 超20000人学习的好课

4年同步微信官方迭代,累计20000+人学习, 比微信官方更火爆!

23954 学习 · 6928 问题

查看课程