请稍等 ...
×

采纳答案成功!

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

关于浏览后自增,template值如何传递的问题

老师你好,做了很长时间…实在是不会了。原始代码已经修改的乱七八糟了。我就简单说一下我的思路。

首先浏览之后,把浏览后的值存在缓存中。这一步已经完成了。并且每一次阅读值都会+1。

https://img1.sycdn.imooc.com//szimg/5ec3992c0912df5610940167.jpg

然后把这个缓存值保存在data数据里面。我也保存了。我一直无法解决的问题是这个:

我依照posts.data.js的样式,也就是这个:

https://img1.sycdn.imooc.com/szimg/5ec399d209b3998413210222.jpg

在data中也存了一个同等格式的数组对象。类似这样:

https://img1.sycdn.imooc.com//szimg/5ec399ed09d05fbd08810093.jpg

可在template里面无法正确传入这个值,我按照下面这种方式添加。

https://img1.sycdn.imooc.com//szimg/5ec39a6809fb2b2d07090142.jpg

使用这个值:

https://img1.sycdn.imooc.com//szimg/5ec39a860915d8fb05240032.jpg

页面呈现结果:

https://img1.sycdn.imooc.com//szimg/5ec39aa30909d56f04530056.jpg

我不太理解为什么是这样的形式。

我知道上面的逻辑是有问题的。template是按照data中的postList循环,所以reading应该是个固定值。但是呈现结果应该也是:

[{ 'reading': 1 }, { 'reading': 2 }, { 'reading': 3 }, { 'reading': 4 }]

这种形式。而不是[object Object],[object Object]这样

如果传值的时候reading改成...reading。值应该是undefined (页面那里是空白)


我后来也尝试想把缓存中的值取出来,每次页面刷新后,直接替换postList.reading的值。但是后来都是不断的循环取值,查找替换。感觉非常蠢…

之前光是浏览后怎么把数据变成[{ 'reading': 1 }, { 'reading': 2 }, { 'reading': 3 }, { 'reading': 4 }]这样的缓存形式,代码就已经写得很乱了(下面的逻辑也乱七八糟)。

https://img1.sycdn.imooc.com//szimg/5ec39c1f09a751af05880778.jpg


所以想问一下,怎么把缓存中的值,放到循环渲染出来的模版中(类似让第一个模版用索引1的值,第二个循环出来的模版用索引2的值…我表达得不太好抱歉),或者就这道题来说,有没有已经可以实现的代码可以参考一下。

感谢老师解答。

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

1回答

7七月 2020-05-19 22:05:46

这个其实就是一个计数。。。缓存可以存储数据。比如一篇文章 id是1:

那么初始化的时候写入缓存 1:0 ,标识id为1的文章 0阅读量

然后每次进入详情页面,阅读量+1,同时写入缓存。

显示的阅读量 要 从缓存中读取。

0 回复 有任何疑惑可以回复我~
  • 提问者 夜魇丶 #1
    感谢老师回答。…其实我就是卡在 显示的阅读量 从缓存中读取 这一步上了。其它的数据,都是从posts.js里面直接拿的死数据。而唯独reading的值从缓存中读取。那么我要怎么读取,才能读取到这个缓存的值。这个是我一直都没办法解决的问题。传值不太懂…没事,我再看看有什么笨方法能先实现出效果来。有不懂的地方再问。
    回复 有任何疑惑可以回复我~ 2020-05-19 23:26:59
  • 7七月 回复 提问者 夜魇丶 #2
    这不是什么问题吧,会写不会读?文档里也有API呀
    回复 有任何疑惑可以回复我~ 2020-05-20 05:10:38
  • 7七月 回复 提问者 夜魇丶 #3
    wx.getStorageSync不能读吗
    回复 有任何疑惑可以回复我~ 2020-05-20 05:11:18
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信