Vue路由跳转到新页面之后,返回旧页面保持状态不变

新项目中遇到了登录时点击用户协议,进入协议页面让用户阅读,然后返回登录页面时发现原来填写的手机号验证码全都没有了。

解决方案:使用keep-alive

在vue.app中添加keep-alive标签。
<template>
<div id="app">
<keep-alive>
<router-view v-if="$route.meta.keepAlive" />
</keep-alive>
<router-view v-if="!$route.meta.keepAlive" />
</div>
</template>


在router文件下的index.js中,添加meta。
{
path: '/Load',
name: 'Load',
component: Load,
meta:{
keepAlive:true
}
},

在跳转的新页面中,添加beforeRouteLeave
beforeRouteLeave(to,from,next){
to.meta.keepAlive = true
next(0)
}

posted @   雪莉06  阅读(1063)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示