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

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

解决方案:使用keep-alive

  1. 在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>
  1. 在router文件下的index.js中,添加meta。
    {path: '/Load',name: 'Load',component: Load,meta:{keepAlive:true}},
  1. 在跳转的新页面中,添加beforeRouteLeave
    beforeRouteLeave(to,from,next){to.meta.keepAlive = truenext(0)}


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

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部