Vue的keep-alive组件,使用include和exclude不生效的问题

官方文档:

keep-alive
include - 字符串或正则表达式。只有名称匹配的组件会被缓存。
exclude - 字符串或正则表达式。任何名称匹配的组件都不会被缓存。
max - 数字。最多可以缓存多少组件实例。
用法:
包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和 相似, 是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现在父组件链中。
当组件在 内被切换,它的 activated 和 deactivated 这两个生命周期钩子函数将会被对应执行。

include和exclude:

include 和 exclude 属性允许组件有条件地缓存。二者都可以用逗号分隔字符串、正则表达式或一个数组来表示:
匹配首先检查组件自身的 name 选项,如果 name 选项不可用,则匹配它的局部注册名称 (父组件 components 选项的键值)。匿名组件不能被匹配。

发现问题:


  

当如上使用keep-alive缓存BookingOne组件时,发现没有效果,组件并没有被缓存

解决:

官方文档描述:include和exclude匹配检查组件自身的 name 选项,
这里指的是是组件里面的 name 名称,不是路由里面的 name 名称
Vue的keep-alive组件,使用include和exclude不生效的问题_第1张图片

你可能感兴趣的:(Vue.js)