发现一个问题!不知道从哪里突破!~
来源: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回答
-
你好:
如果进入不相同的详情页面出现了相同的详情内容。那么首先需要检测的地方,就是在详情页中根据商品id请求后台,获取商品详情数据。
根据你的描述,商品id确实发生了变化,但是商品详情却不变。那么可以查看一下,在再次进入详情页面时,是否以新的id重新请求了后台的数据。012020-02-07
相似问题