Vue.js 如何使用方法推送保持上一页的活动状态?
如何保持上一页的活力 我有一个列表页,在这个页面中有一个分页器。 我使用Vue.js 如何使用方法推送保持上一页的活动状态?,vue.js,vue-router,Vue.js,Vue Router,如何保持上一页的活力 我有一个列表页,在这个页面中有一个分页器。 我使用this.$router.push推送到详细信息页面: go_details(h, params){ let query = { id: params.row.id } this.$router.push({ name: 'physicalserverDetails', query: query }); }, 在physicalserverDeta
this.$router.push
推送到详细信息页面:
go_details(h, params){
let query = {
id: params.row.id
}
this.$router.push({
name: 'physicalserverDetails',
query: query
});
},
在physicalserverDetails
中,我使用this.$router.go(-1)代码>返回
但是,有一个问题,如果列表中有第5页,我从physicalserverDetails返回,列表页面将刷新第1页,而不是第5页
我知道通常我可以使用保持活动状态
标记来实现目标
<keep-alive include="index">
<router-view></router-view>
</keep-alive>
但是必须使用this.$router.push(xxx)
才能使用它,因为详细信息页面是一个普通页面,有许多条目
如何使用它?一种方法是将页码作为查询参数存储在URL中。这样,页码将在路由器历史记录中被“记住”,因为它存在于URL中
可以将查询参数绑定到组件中的道具(请参见)。当下一页的值更改时,您可以使用它或使用钩子加载下一页
如果有“上一页”/“下一页”按钮,则只需将它们设置为一个将页面
查询参数设置为相应页面的按钮
这不会将上一页保留在内存中(就像
那样),但是您知道应该显示什么页码来响应路线更改,因为您可以只检查页面
查询参数。它还修复了Stephan-v在评论中指出的问题,即刷新页面将保留页码。不过,您的分页设置如何?您的路由器无法神奇地知道您的分页。如果您刷新页面,并且使用查询参数或其他方法无法获取分页状态,那么很明显您将从第1页开始。