vue 缓存页面

本文记录了在Vue开发中遇到的问题:从商品列表页进入详情页后,返回列表页需要保持之前状态。通过使用`keep-alive`组件实现了页面缓存。详细步骤包括在根组件中引入`keep-alive`,在路由配置中指定需要缓存的页面,利用`activated`生命周期钩子更新数据,并处理滚动位置。同时提到了在`beforeRouteLeave`中处理页面离开时的逻辑,以及如何恢复滚动位置。
摘要由CSDN通过智能技术生成

最近工作中,遇到开发中的问题。从商品列表页,进入商品详情页,之后再返回刚才离开的商品列表页面。解决方法是利用 vue 的keep-alive,https://cn.vuejs.org/v2/api/#keep-alive。虽然使用这个,解决了问题。但是具体原理自己目前也没明白。现在先记录下如何使用的。

keep-alive 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们

1 先是根目录下利用keep-alive包裹标签  keep-alive 包裹需要缓存的页面,再单独写一个不需要缓存的页面

<body>
    <div id="app">
        <keep-alive>
            <router-view v-if="$route.meta.keepAlive"></router-view>
        </keep-alive>
        <router-view v-if="!$route.meta.keepAlive"></router-view>
    </div>
</body>

2 在配置路由文件。把keepAlive: true 这个加到需要缓存的路由参数上。不需要缓存的可以不配置

{
        path: '',//目录
        redirect: '',
        meta: {
            keepAlive: true // 需要缓存
        }
 },<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值