vue路由缓存

一、先设置路由模块元:

        path:'/ category',
        name:'Category',
        component:Category,
        meta:{ 
            keepAlive:true 
        } 
}

二、其次对路由器视图视图层修改:

<keep-alive>         
    <router-view v-if =“$ route.meta.keepAlive”/> 
</ keep-alive>

<router-view v-if =“!$ route.meta.keepAlive”/>

三、然后对进入路由的页面进行判断:

beforeRouteLeave (to, from, next) {
    from.meta.keepAlive = to.name == 'Detail';            
    next();            

}

四、可以进行对比,进入路由的操作判断:

例如如果进入详情页,进行了删除等操作的时候,返回列表页面如果不需要缓存的情况


beforeRouteLeave (to, from, next) {
    // 不缓存订单页,刷新
    if (to.name == 'Order' && this.isDoSomething) {
        to.meta.keepAlive = false;
    }         
    next();            

}

=============================================================

changeOrder(){
    //进行用户所需要的操作
    this.axios.get('接口地址')
        .then(res=> {
            // 假设这里是接口返回成功的时候
            // 表示已经进行不需要缓存的操作
            this.isDoSomething= true;
            // 返回详情页面
            this.$router.go(-1);
        })
    .catch(err=> {
        // 处理错误
    })
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值