vue处理分页停留

1.需求说明:当我们在展示数据分页的时候,跳转到别的分页,需要查看分页数据的信息就会跳到另一个组件,这时候我们再点击返回按钮的时候,分页会重置掉不会记录我们选择跳转的分页,而是返回到第一页

2.我们查看第4页的最后一条数据,这时候已经跳转了路由,当我点击返回的时候需要返回到第4页,而不是跳到第一页

3.这时候我们先使用生命周期,当组件更新的时候把跳转的到第几页的数值存起来

updated() {
  sessionStorage.setItem('page', this.query.page)
},
4.然后在,进入这个组件的时候取出来,这里在进入之前先判断存的值为什么存在,不存在初始化,存在就到返回页(这里为什么要这样处理呢,因为我们还要跳到别的路由,去别的组件,这时候当然要把这个存的page值给清空了,不然跳到别的组件,然后在跳转回来的时候还是会拉取存储的分页数据)
created() {
  if (!parseInt(sessionStorage.getItem('page'))) {
    this.query.page = 1
  } else {
    this.query.page = parseInt(sessionStorage.getItem('page'))
  }
},
5.在什么时候移除呢这时候就用到了beforeRouterLeave 组件内的路由钩子函数
beforeRouteLeave: (to, from, next) => {
  if (to.path !== '/integral/detail') {
    sessionStorage.removeItem('page')
  }
  next()
},
6.我们在详情页组件也要使用一下这个组件内的路由钩子函数,判断返回的路由,如果不是就移除了session
  beforeRouteLeave: (to, from, next) => {
    if (to.path !== '/integral/list') {
      sessionStorage.removeItem('page')
    }
    next()
  }
 
 

猜你喜欢

转载自www.cnblogs.com/zengkai/p/9645118.html