这就需要使用vue的keep-alive缓存。
解决思路
一、缓存所有页面
如果需要缓存所有页面,就在使用router-view中地方(一般都是app.vue,但也不绝对是,就是控制要缓存的页面router跳转的上一级直接router-view的地方)外围包上标签
二、缓存部分页面
缓存部分页面,一般有两种方式:
(1)使用router.meta属性
router-view文件中:(app.vue)
//放需要缓存的组件
//放不需要缓存的组件
路由配置文件router.js文件中,给需要缓存的路由加上meta属性,并设置值。
{
path: ‘/usermanage’,
name: ‘usermanage’,
meta: {
keepAlive: true, //该字段表示该页面需要缓存
},
component: resolve => require([‘@/views/userManage/userManage’], resolve) // 路由懒加载
},
(2)使用vue-router 2.X的include、exclude两个属性,针对性的缓存相应的组件
include属性表示只有name属性为a,b的组件会被缓存,(注意是组件的名字,不是路由的名字)其它组件不会被缓存exclude属性表示