一、只限于根据路由缓存页面组件,当然可以延伸到缓存页面小组件。(方法通用,我是改造而来的方法)
在官方API中提供的两个方法,include与exclude方法中,可以根据正则表达式去匹配是否缓存组件。。
keep-alive是Vue.js的一个内置组件。它能够不活动的组件实例保存在内存中,而不是直接将其销毁,它是一个抽象组件,不会被渲染到真实DOM中,也不会出现在父组件链中。它提供了include(缓存)与exclude(不缓存)两个属性,允许组件有条件地进行缓存。
我是这样做的 :
第一步:在入口组件App中,监听路由参数的变化,在data中定义keepAliveComponents 数组存储要缓存的组件名字,根据meta字段cache是否缓存,再加到数组里。
当然要在路由列表的元信息中,定义一个字段是否缓存这个组件(看图)
看最后的结果吧~~
再看页面刷新之后的结果,缓存没有了
看来刷新就会清除缓存组件