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 = truenext(0)}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
