第一次跳转 页面数据加载不全,需要刷新一下才会全部加载
来源:9-9 作业 完成文章详情页
背对疾风丶4349571
2022-04-25
老师您好,postdetail界面第一次进入的时候,数据展示不全,只是展示一部分,然后需要刷新一次数据才会全部展示。这是为啥呢
图1是刚进入的界面,下面的信息和user-profile里面的信息都没有展示。
刷新之后就成功展示全了。
下面是仓库链接,麻烦老师了!!
https://git.imooc.com/xiaoshayu123/zhihuvite/src/master
写回答
1回答
-
张轩
2022-04-25
同学你好
原因在于你的 mutations 当中,直接将对应的条目插入了进去
fetchCurrentPost(state,rawdata){ state.Posts.push(rawdata.data) },
但是还记得我们在专栏详情页加载过对应的文章列表嘛?这条是在文章列表中的
所以现在 store 中有两个相同的记录,一个是简化的,一个是复杂的(有各种详细信息的)
[{id: 1, 我是简单的}, ...., { id: 1, 我是复杂的,刚插入的}]
getter 是通过 id 寻找的,所以它自然是找到了第一条简单的,那些详细信息就没有了。
直接刷新的时候,没有加载文章列表,这时候store 中只有一条。
[{ id: 1, 我是复杂的,刚插入的}]
所以就没问题了。
现在的修改是,直接覆盖对应的 store
+ fetchCurrentPost(state, rawData) { + state.Posts = [rawData.data] + },
就可以了。
当然我们后面还会针对这里进行优化,争取缓存数据,不多次加载,请慢慢看下去吧
112022-04-25
相似问题