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

来源:20-2 Banner轮播图跳转文章详情

夜魇丶

2020-05-19

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

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

http://img.mukewang.com/szimg/5ec3992c0912df5610940167.jpg

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

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

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

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

http://img.mukewang.com/szimg/5ec399ed09d05fbd08810093.jpg

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

http://img.mukewang.com/szimg/5ec39a6809fb2b2d07090142.jpg

使用这个值:

http://img.mukewang.com/szimg/5ec39a860915d8fb05240032.jpg

页面呈现结果:

http://img.mukewang.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 }]这样的缓存形式,代码就已经写得很乱了(下面的逻辑也乱七八糟)。

http://img.mukewang.com/szimg/5ec39c1f09a751af05880778.jpg


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

感谢老师解答。

写回答

1回答

7七月

2020-05-19

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

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

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

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

0
5
夜魇丶
回复
7七月
我表达的可能有点复杂了,我重新开了个贴。有个简单的示例,传送门: https://coding.imooc.com/learn/questiondetail/188942.html
2020-05-20
共5条回复

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

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

23866 学习 · 6899 问题

查看课程