我也遇到你的问题,调试2小时终于解决。
方法很简单:清除掉缓存。在onload加入一行:clearstorage,运行,再删掉这一行即可。
其实这个报错是因为postsCollection是作为普通值,而非object对象,所以postsCollection[id]无法被写入值。
为什么postsCollection不是object对象呢?大概是我们代码写到一半,提前按下了运行,系统已经将posts_collection = postscollection写入了缓存。(应该是老师演示时有这么一句,但他没有点运行,所以他的缓存里面没有记录这个)
这就导致if-else里面,第一次判断就会认为postsCollection不为空,此时尝试将postsCollection[postId]拿到,马上就报错,后面逻辑就全错了。