文章收藏功能报错

来源: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
})
}
})

http://szimg.mukewang.com/59c8c7a10001572c10230358.jpg

看了老师回答其他同学的问题,说是该用数组表示的却用成了字符串,看了半天,还是没找出来。

在调试里用了断点,发现postsCollected[this.data.currentpostid];左边的postCollected是undefind,下面的postCollected = !postCollected;也是undifind,而且下面打断点是找不到数据的。。不知道是啥原因,还请老师帮帮忙

写回答

4回答

7七月

2017-09-25

currentpostid是不是打错了?以我的习惯不会全是小写

0
3
慕粉224740384
老师 应该不是这个问题;我改后还是报postCollected = !postCollected; undifind,
2018-08-14
共3条回复

慕粉224740384

2018-08-14

我也遇到这个问题,解决了吗

0
0

qq_遗失的美好沈默菋_0

2018-05-02

我也遇到了这个问题,解决了吗?

0
0

neoboy

2017-11-24

解决了嘛?我也存在这个问题

0
0

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

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

23867 学习 · 6899 问题

查看课程