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,而且下面打断点是找不到数据的。。不知道是啥原因,还请老师帮帮忙