新项目中遇到了登录时点击用户协议,进入协议页面让用户阅读,然后返回登录页面时发现原来填写的手机号验证码全都没有了。
解决方案:使用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)}