收藏无法形成切换

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

左青

2017-05-07

var postsData = require('../../../data/posts-data.js');
Page({
    data: {

    },
    onLoad: function (option) {
        // 当前页面的id
        var postId = option.id;
        // 当前页面的id传到下一个函数里
        this.data.currentPostId = postId;
        // 把从拿来的数据postsData赋值给变量postData;
        var postData = postsData.postList[postId];
        // 数据绑定
        this.setData({
            headImgSrc: postData.headImgSrc,
            author: postData.author,
            dateTime: postData.dateTime,
            autor_img: postData.autor_img,
            title: postData.title,
            detail: postData.detail
        })
        //在onLoad函数里,拿到缓存信息赋值给postsCollected
        var postsCollected = wx.getStorageSync('posts_collected');
        //当前页面的缓存
        if (postsCollected) {
            var postCollected = postsCollected[postId];
            //数据绑定
            this.setData({
                collected: postCollected
            })
        }
        else {
            var postsCollected = {};
            postCollected[postId] = false;
            wx.setStorageSync('posts_collected', postsCollected)
        }
    },

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

})


写回答

2回答

7七月

2017-05-07

这个怎么会不知道怎么破。。肯定是代码写错了呀。。。仔细检查代码或者 对比源代码就能找到问题

0
0

左青

提问者

2017-05-07

//szimg.mukewang.com/590ebfb600010e6508600206.jpg

//szimg.mukewang.com/590ebfb60001aeb408770182.jpg

控制台报错信息,这个问题好像是没有把上个函数的postId拿到并且传给收藏的这个函数。不知道怎么破啊

0
1
qq__少明_04040300
输出一下postId看看拿到没有
2017-05-13
共1条回复

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

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

23867 学习 · 6899 问题

查看课程