点击收藏报错

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

askjn

2017-05-21

http://szimg.mukewang.com/5921593b00016ef408220200.jpg

http://szimg.mukewang.com/5921593b0001c9b305160591.jpg


写回答

5回答

慕娘3426639

2017-07-02

我也遇到你的问题,调试2小时终于解决。

方法很简单:清除掉缓存。在onload加入一行:clearstorage,运行,再删掉这一行即可。

其实这个报错是因为postsCollection是作为普通值,而非object对象,所以postsCollection[id]无法被写入值。

为什么postsCollection不是object对象呢?大概是我们代码写到一半,提前按下了运行,系统已经将posts_collection = postscollection写入了缓存。(应该是老师演示时有这么一句,但他没有点运行,所以他的缓存里面没有记录这个)

这就导致if-else里面,第一次判断就会认为postsCollection不为空,此时尝试将postsCollection[postId]拿到,马上就报错,后面逻辑就全错了。

1
2
EugenioCode
我也遇到了这个问题,我把缓存清理掉之后,运行还是报错
2017-07-18
共2条回复

qq__1299

2017-07-05

你的问题解决了吗?我跟你报错内容一样,找不到哪里有问题呢

0
0

慕的地6863477

2017-07-04

倒数第三行 不用加双引号的 加了 就会变成字符串   wx.setStorageSync 那里  你试试不要加引号

0
0

慕的地6863477

2017-07-04

发源代码给我 我帮你DEBUG一下 我的报错也跟你一样 后来我解决了。但是我看了一下你的代码应该跟我错的地方是不一样的。

0
1
华灯初上丶
老哥,后来你是咋解决的呀,我搞了一天还是不知道错误在哪
2017-12-14
共1条回复

7七月

2017-05-21

这个需要用源代码调试,看是很难看出来的。肯定是哪里写的不对,建议打断点调试下,或者下载源代码,对比下哪里写的不对

0
0

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

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

23866 学习 · 6899 问题

查看课程