weixin_50557611 2022-05-12 09:59 采纳率: 76.9%
浏览 98
已结题

订单列表页面到订单详情页面,再回订单列表页面,页码不变

怎么从订单列表页面到订单详情页面,再回订单列表页面,页码不变?
比如:从订单列表页面第4页点击一个订单详情,再回到订单列表页面,页码还是第4页?

img

img

  • 写回答

4条回答 默认 最新

  • ZionHH 2022-05-12 10:54
    关注

    动态缓存路由,通过动态改变keepAlives来实现,存储的值是name,页面和路由的name

    <!-- app.vue -->
    <template>
      <keep-alive :include="keepAlives">
        <router-view></router-view>
      </keep-alive>
    </template>
    
    <script>
    import { mapGetters } from 'vuex'
    
    export default {
      name: 'index',
      data () {
        return {
        }
      },
      computed: {
        ...mapGetters(['keepAlives'])
      }
    }
    </script>
    

    页面通过beforeRouteEnter beforeRouteLeave,在列表页进入详情页时,缓存列表页,进入其它页面则不缓存

    // 列表页
    beforeRouteEnter (to, from, next) {
        next(vm => {
          vm.$store.commit('SET_KEEP_ALIVE', ['Financial'])
        })
      },
      beforeRouteLeave (to, from, next) {
        if (to.name === 'DemoDetail') {
          this.$store.commit('SET_KEEP_ALIVE', ['Financial'])
        } else {
          this.$store.commit('SET_KEEP_ALIVE', [])
        }
        next()
      }
    
    // store
    export default {
      state: {
        keepAlives: []
      },
      mutations: {
        SET_KEEP_ALIVE (state, keepAlives) {
          state.keepAlives = keepAlives
        }
      },
      actions: {
        setKeepAlive ({ commit }, keepAlives) {
          commit('SET_KEEP_ALIVE', keepAlives)
        }
      },
      getters: {
        keepAlives (state) {
          return state.keepAlives
        }
      }
    }
    

    大概就是以上思路

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 创建了问题 5月12日

悬赏问题

  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上