请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

点击收藏报错

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
        })
    }

})

点击收藏后报错

https://img1.sycdn.imooc.com/szimg//596e211800016e4008800193.jpg

摸不着头脑


正在回答

4回答

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

0 回复 有任何疑惑可以回复我~
  • 提问者 EugenioCode #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-07-19 23:17:05
  • 提问者 EugenioCode #2
    问题解决了,成功实现了收藏功能,谢谢老师
    回复 有任何疑惑可以回复我~ 2017-07-19 23:17:40
  • normcore 回复 提问者 EugenioCode #3
    我也是这个问题,哪个地方写错了呢?
    回复 有任何疑惑可以回复我~ 2017-07-26 15:49:26
Ethreal 2017-10-16 22:44:22

解决了 应该是post.js   

this.setData({

postList: postsData.postList

});

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

0 回复 有任何疑惑可以回复我~
qq_岐有此理_0 2017-09-19 17:32:26

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

0 回复 有任何疑惑可以回复我~
晴书 2017-09-03 12:38:47

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


0 回复 有任何疑惑可以回复我~
  • 提问者 EugenioCode #1
    我直接重新写的
    回复 有任何疑惑可以回复我~ 2017-09-04 13:55:31
  • 问题应该是出在收藏那段数据代码
    回复 有任何疑惑可以回复我~ 2017-09-19 22:22:21
  • 他在onlond 中添加缓存的名称posts_collected  ,  onCollectionTap方法中提取、修改缓存的名称又写成post_collected 。。。能调出来就见鬼了
    回复 有任何疑惑可以回复我~ 2017-09-20 15:02:41
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信