需求
数据列表,操作栏中有 「查看详情」按钮,点击,如果详情内容不是很多,一般就模态框弹出展示就行了,但有时候也会做成一个页面来展示。所以
处理方式(默认都在当前页 不新开 tab 展示)
1 新页面 新的路由 /list/:id 返回的时候 路由跳转到 /list ,要是直接这么弄的话 返回到列表页 之前的一些操作会丢失,回到第一页。比如我通过搜索项查询到数据,然后点查看详情后,跳到详情页,再返回,我之前的搜索结果页面没了,又得重新去搜索。麻烦, 优化:查看详情前 带上列表页的一些查询条件+页码,返回到列表页时候按这些条件去获取 跳到之前的页(还原到没跳转详情之前的样子)
这种方式就比较明了,页面刷新了 也是加载当前详情
2 写在当前页面 就查看详情的时候,比如页面有个「<d iv class='detail' v-if='detailVisible'>详情内容</di v> 」(可以抽成展示组件),点击详情的时候出现(绝对定位覆盖到当前页面上),返回的时候直接 detailVisible=false ,隐藏就行了。 这种就不用考虑详情页之前列表的操作的一些状态情况,毕竟都同一个页面,返回时候,列表页还是之前的样子,也不用重新请求数据加载。比较快。
缺点就是:如果展示详情页,刷新会变成列表页,如果是别的地方想跳转到详情页的话 没有上面路由方式方便 需要 /list?id=xxx 这种来判断当前页面是不是要渲染某项的详情
不知道各位一般是怎么处理。