vue单页设置页面不刷新 记录滚动条的位置

博客围绕商城页面返回功能需求展开,点击三级分类节点进入商品列表页,返回时需回到当前三级分类节点。介绍了Vue单页使用keep-alive实现页面返回不刷新的两种方法,包括设置页面缓存、记录滚动条位置等,还提及不同场景下的设置差异。

功能需求

点击商城第三级分类节点进入商品列表页,然后点返回按钮时页面重新回到了第一个一级分类节点的三级节点下。但需要的效果是返回到当前的三级分类节点(页面在底部)。

vue单页 使用keep-alive页面返回不刷新

法1:设置所有页面进入分类页时都缓存(已试过成功)

keep-alive是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。

1.在配置router的文件中设置分类页的keepAlive为true

在这里插入图片描述

2.将app.vue文件设置为

<template>
  <div id="app" class="tap-highlight">
    <!-- 可以被缓存的视图组件 -->
    <kkeep-alive>
      <router-view v-if="$route.meta.keepAlive"></router-view>
    </keep-alive>
    <!-- 不需要被缓存的试图组件 -->
    <router-view v-if="!$route.meta.keepAlive"></router-view>
  </div>
</template>
<script>
export default {
  name: 'app',
};
</script>

这样分类页在首次加载缓存后再进入就不会重复刷新获取数据

3.在分类页的vue文件中

  <!-- 一级类目 -->
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值