请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

清除缓存第一次刷新页面点击向右请求上一期刊latestIndex 为空

比如现在打开页面最新期刊是8月,向左按钮为不可点击,向右按钮为可点击,点击向右这个时候isLatest里面latestIndex 为空,然后你再向左回去应该是8月缓存里存的也是8,但是latestIndex 却是7,向左按钮也未变灰。

isLatest(index) {
let latestIndex = this._getLatestIndex();
// console.log(index);
console.log(latestIndex)
return latestIndex == index ? true : false
}
_setLatestIndex(index) {
//这个没问题的,每次点击是可以设置正确的storage
wx.setStorageSync(‘latest’, index)
}

_getLatestIndex() {
    let index = wx.getStorageSync('latest');
    //这里就不对了,每次都会比实际少1,我现在缓存是5,当前期刊也是5月,但是取出的index却6,
    //清除缓存后刷新页面一直向右点击打印出的index值依次为:空 7 6 5 4 3 2   然后再向左点击为:1 2 3 4 5 6 7
    //回到8月应该向左按钮变灰也没有变灰因为index为7,再点击向左会报错
    //GET http://bl.7yue.pro/v1/classic/8/next 404 (NOT FOUND)
    console.log(index);
    return index
}

正在回答 回答被采纳积分+3

1回答

7七月 2019-04-15 14:36:33

这块的逻辑是肯定没有问题的,你可以看看线上的代码,如果有同类的bug,那说明课程是有问题的。如果没有,那么还是要检查下代码的逻辑。

0 回复 有任何疑惑可以回复我~
  • 提问者 昨夜星辰1024 #1
    线上代码models》classic.js跟我现在学到第九章最后一节对不上,也看不明白线上的代码,还没学完,我现在就是跟着学到这儿了,我对了一遍跟您视频里写的代码一模一样,就是很神奇为什么点击下一期取到的是上一期的期刊缓存,设置缓存的值也没问题,就是取的时候有问题。你写好的线上代码点击左右切换后的storage是不变的,但是我本地和你视频上写是会变的。
    回复 有任何疑惑可以回复我~ 2019-04-15 15:19:09
  • 7七月 回复 提问者 昨夜星辰1024 #2
    你可以下载源码看一下。肯定还是你哪里的逻辑不对。
    回复 有任何疑惑可以回复我~ 2019-04-15 15:56:30
  • 7七月 #3
    这个我也不可能看出问题来,只能用代码调试来分析。
    回复 有任何疑惑可以回复我~ 2019-04-15 15:56:50
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信