文章收藏功能报错
来源: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
相似问题