文章收藏功能报错
来源:19-7 使用缓存实现文章收藏功能
Dokyun
2017-09-25
var postsdata = require("../../../data/posts-data.js") Page({ data: { //小程序总是会读取data对象来做数据绑定,这个动作我们称为动作A //而这个动作A的执行,是在onload函数执行之后发生的 }, onLoad: function (option) { var postid = option.id; this.data.currentpostid = postid; var postdata = postsdata.postList[postid]; this.setData({ keykey: postdata }); //wx.setStorageSync('key', "魔兽世界") wx.setStorageSync('key', { game: "魔兽世界", developer: "暴雪" }) 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); } }, onColletionTap: 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 }) } })
看了老师回答其他同学的问题,说是该用数组表示的却用成了字符串,看了半天,还是没找出来。
在调试里用了断点,发现postsCollected[this.data.currentpostid];左边的postCollected是undefind,下面的postCollected = !postCollected;也是undifind,而且下面打断点是找不到数据的。。不知道是啥原因,还请老师帮帮忙
写回答
4回答
-
currentpostid是不是打错了?以我的习惯不会全是小写
032018-08-14 -
慕粉224740384
2018-08-14
我也遇到这个问题,解决了吗
00 -
qq_遗失的美好沈默菋_0
2018-05-02
我也遇到了这个问题,解决了吗?
00 -
neoboy
2017-11-24
解决了嘛?我也存在这个问题
00
相似问题