1.修正主路由页面,keep-alive 标签添加 include
代码示例
复制代码

2.同时此页面添加自动computed includeds
代码示例
复制代码
3.修正vuex的store,添加includeds工具,并添加commit方法。此处如不用vuex,也可自行设置Local Storage。
代码示例
复制代码
4.在main.js页面添加beforeEach路由守卫。并设置退却撤退页面数组。如不用全局守卫,也可在页面单独设置单独写beforeRouteLeave,方法相同。
复制代码
5.设置页面(news.vue)的name和activated
代码示例
把稳:此处activated里设置的commit里第二个参数,必须与name名称同等。
6.然后就可以了。
事理解析:
1. 通过设置keepalive 的 include,当然也可以设置exclude,自行百度。include为要缓存的页面name
2. 在页面activated的时候设置为缓存当前页面。
3. 页面跳转的时候判断路由的to.name是否包含在已设置的数组中。
4. 跳转到edit或show页面,返回后回到缓存页面,不刷新。由其他页面进入则刷新。
5. 如果不设置路由全局守卫,也可以每个页面单独写beforeRouteLeave
复制代码
也不知道这样写对不对。反正目前可以实现想要的效果。其余路由嵌套不是很深。如果哪位大侠有更好的方法,欢迎供应。^_^