发现一个问题!不知道从哪里突破!~

来源:7-17 实现页面跳转的滑动状态保存

乔伊_

2020-01-26

新年好Sunday老师,我在本节课的代码实操中遇到一个问题,请你解答一下,谢谢!!!
首先,我已经在根组件APP.vue中加入keep-alive来缓存全部组件。
图片描述
之后也在Home和Goods两个组件中添加了对应的ref和scroll事件
home页面:
图片描述
goods页面:图片描述
最后的效果也实现了,页面回退的时候可以正确的返回到上一个页面scrollY的准确位置。
那么问题来了,我在测试的时候多点了几个产品列表的产品出现了bug。比如说,我点击页面的手表产品,进入详情页后我再回退到产品列表,我再点击牛奶产品,这时候进入的详情页还是手表产品的内容,不是牛奶相关的信息。(换句话说,我点击第一次产品后,再回退点击其他产品,详情页都是点击第一次产品的详情页内容)
图片描述
我以为是点击事件出错,在控制台打印了产品的id,控制台的id显示也是正确的。请问老师这是怎么回事?为什么点击不同产品,却显示相同的页面视图呢?是keep-alive的原因吗?我说明一下,我没用使用虚拟任务站,因为这个知识点我有一点想百度细致查询下。所以没有打这一块的代码,不知道和本节课的bug是否有关联?
图片描述
图片描述
谢谢sunday老师!!!

写回答

1回答

Sunday

2020-01-27

你好:
如果进入不相同的详情页面出现了相同的详情内容。那么首先需要检测的地方,就是在详情页中根据商品id请求后台,获取商品详情数据。

根据你的描述,商品id确实发生了变化,但是商品详情却不变。那么可以查看一下,在再次进入详情页面时,是否以新的id重新请求了后台的数据。

0
1
乔伊_
非常感谢!
2020-02-07
共1条回复

混合开发入门 Vue结合Android/iOS开发仿京东项目App

流行的混合开发实战入门,前端和原生开发同学不容错过

1108 学习 · 448 问题

查看课程