关于ColumnDetail 改造post数据的一些疑问

来源:11-10 useLoadMore 支持数据缓存 解决方案分析

慕侠6050286

2023-09-14

图片描述

老师 我是这样取的columnId,currentId应该有route的内置定义:string | string[] ,
我只能通过如下2种方式去解决
const currentId = route.params.id as string

const { loadMorePage, isLastPage } = useLoadMore('fetchPosts', total, { currentPage: currentPage.value ? currentPage.value + 1 : 1, pageSize: 2, id: currentId.toString(), })

但是查看老师的代码是这样写的:
图片描述

我有点不大明白为什么需要ref一下currentId呢
希望得到老师的解惑 万分感谢!

写回答

1回答

张轩

2023-09-15

同学你好

这里用响应式是为了一个特殊的情况存在的,也是为了修复之前的一个 bug。

我相信图中的代码也说明了一些情况。

这种场景是:假如当前在一个特定的专栏,然后在右上角的下拉菜单点击我的专栏的时候,页面并不会有任何反应,因为只是 columnID 变化了,路由没有任何变化,所以页面会没有反应。

这里这段逻辑就是为了当发现ID 发生变化的时候,整个页面会重新发送对应的数据,故而使用了 ref。

0
1
慕侠6050286
好的 明白了 谢谢老师
2023-09-15
共1条回复

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3166 学习 · 2346 问题

查看课程