keep-alive的使用经验
vue的keepalive可以说是缓存方法里很方便的了,但是有一些场景需要注意一下,简单说一下最常用的两种方法
1,在keepalive的include和exclude属性,不赘述了,看官方文档很简单
2,在路由文件中的meta里,添加一个属性keepalive:true,然后
<keep-alive v-if="$route.meta.keepAlive">
<router-view />
</keep-alive>
<router-view v-if="!$route.meta.keepAlive" />
这判断的用意很明显,就是缓存meta里有keepalive属性的组件,反之不缓存
重点来了
其实vue的keepalive缓存的事组件之间的切换,如果有个需求是,从一个界面跳转到它的子界面,此时这个父界面是默认被摧毁的,自然不能缓存了。 只需要把子路由拿出来跟父级同级就行了
目标是从高级查询跳到子路由详情里,这里是拿出来同级之后的样子,
此时导航栏会通过路由渲染组件的入口,只需要再加个hidden:true,完美解决