A页面输入表单数据点击下一页进入到B页面,在B页面点击返回上一页面,A页面表单数据清空的问题?
如何解决:这个问题非常好解决使用缓存组件
keep-alive缓存组件
解决方法
1. 配置路由缓存:meta:keepAlive:true
export default new Router({
routes: [
{
path: '/ahome',
name: 'Ahome',
component: Ahome,
meta: {
keepAlive: true // 需要缓存
}
},
{
path: '/bhome',
name: 'Bhome',
component: Bhome,
meta: {
keepAlive: false // 不需要缓存
}
...
...
2. App.vue中用缓存组件嵌套router-view加判断
<template>
<div id="app">
<!--<router-view/>-->
<!--页面返回不刷新-->
<keep-alive>
<router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>
</div>
</template>
3.使用this.$router.back()返回
注意:如果你使用的是 this.router.go(-1) 是不会生效了,改成this.router.back()就可以了,不然不生效。