最近做了个需求,要求从页面A进入页面B,正常刷新页面,页面B是可编辑的,从页面B进入页面C后,点击返回B页面,需要保存下页面B的内容,也就是不刷新,说简单就是A跳转到B,刷新,C到B,不刷新
主要是通过keep-live控制
在router,js里先设置keep-live
主要两点,一个是在template里通过路由元信息meta里的keepAlive控制是否使用keep-live缓存组件,二是在路由配置里通过设置meta的keepALive来实现缓存页面不刷新,需要缓存的设置keepAlive为true,不需要的保持默认
{
path: 'service',
component: {
template: `<div>
<keep-alive key="keep-alive">
<router-view v-if="$route.meta.keepAlive">
</router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive" key="not-keep-alive">
</router-view>
</div>`
},
children: [
{
path: 'job',