有段逻辑我想不通,老师帮忙看一下
var postsCollected = wx.getStorageSync('postsCollected')这段话是获取缓存 并复值给postsCollected
判断语句里面的 var postCollected = postsCollected[postId] 我如果按照写的逻辑来想的话,我在写if的时候并不知道 postsCollected[postId] 对应的是true还是false,反正就是如果我不看else的语句,我自己在写的时候根本就想不到if里面的 postsCollected[postId]是什么意思
正在回答
同学你好,给你讲个很真实的事情,很多程序员,看自己之前写的代码,会出现不知道这个代码是做什么的情况。因为人的记忆有时效性,而且程序员要接触到东西既多且杂,所以过了一段时间,很容易彻底遗忘,所以代码做好备注很重要。因此,建议同学在听课的时候,一方面要做好笔记,另一方面要做好代码的备注,然后多练,练习五遍十遍都很正常,这是一种很好用的方法,加油!
祝学习愉快!
同学你好,问题解答如下:
项目中的“缓存”,就是把某些元素的状态保存到本地缓存中,wx.getStorageSync('postsCollected')是获取本地缓存中保存的postsCollected这个数据,如下:
当进入详情页时,就会在缓存中获取收藏按钮的状态,如果缓存中还未保存过postsCollected,就直接设置postsCollected的值为空对象,并初始化当前收藏按钮的状态为false,将其保存到缓存:
当点击收藏按钮的时候,会触发onColletionTap事件,如下:
在该事件中,会更新缓存中,对应的收藏按钮的状态:
这样下次进入详情页时,在onload事件中,就可以从缓存中获取到上一次收藏按钮是什么状态了。
同学刚接触这种利用缓存保存元素状态的方式,想不到、没思路、不知道啥意思,都是很正常的现象,这需要时间积累。
“postsCollected[postId] ”这句代码中“postsCollected”和“postId”都是变量,名字可以更换,这就是通过“对象[变量]”的形式,获取对象中的属性值。
建议同学重点记忆一下这种实现方式,以后遇到相似的,就会有思路了。
祝学习愉快!
- 参与学习 人
- 提交作业 622 份
- 解答问题 6815 个
微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星