vue原生元件,可达到cache
目的。
使元件状态维持不变
,不重走生命周期。
新增钩子
activated: 被keep-alive涵盖的原件重新渲染
时触发。
deactivated: 被keep-alive涵盖的原件销毁
时触发。
取代mounted
<keep-alive>
<myComponent />
</keep-alive>
include: 包含的元件。(字串、阵列、正则皆可匹配)
<keep-alive include="componentA,componentB">
<component></component>
</keep-alive>
exclude: 排除的组件。(字串、阵列、正则皆可匹配)
<keep-alive exclude="componentC">
<component />
</keep-alive>
max: 组件数最大值
<keep-alive max="3">
<component />
</keep-alive>
exclude
优先於include
状态保留元件超过上限,则删除第一个
缓存元件
前面有提到vue router,在实务上,有可以透过keep-alive将跳转前画面进行缓存。
所有
匹配到的路由皆进行缓存
<keep-alive>
<router-view></router-view>
</keep-alive>
部分
缓存解法:
方法1:透过上述include
& exclude
进行指定、排除
方法2:meta 属性
route.js
export default [
{
path: '/',
name: 'home',
component: Home,
meta: {
keepAlive: true // 不需要保留 -> false
}
},
]
HTML: 透过v-if
进行取值判断
<keep-alive>
<router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
透过keep-alive的确可以节省很多前端在处理cache上的工,但相对的也要对不同的路由
以及元件
进行整理,规划出真正需要进行缓存的元件,并针对不同业务逻辑、需求进行设计~
有错误请不吝指教!
参考资料
https://vuejs.org/v2/guide
https://medium.com/%E4%B8%80%E5%80%8B%E5%B0%8F%E5%B0%8F%E5%B7%A5%E7%A8%8B%E5%B8%AB%E7%9A%84%E9%9A%A8%E6%89%8B%E7%AD%86%E8%A8%98
https://juejin.cn/post/6844903918313406472
感谢各路大神
>>: 2021-Day23. Serverless(十 一):当 IntelliJ IDEA 遇到 Amazon ---AWS Toolkit Plugin---
昨天已经用PostgreSQL做了范例,今天要轮到PHP当主角了,从DockerHub下载下来最原始...
Line pay API 算是金流类API比较好串接的,尤其是V2,对单一商品或服务开启(课金,抖内...
01 - Begin from linter : rails_best_practices 好的开始...
PyAutoGUI 一个可以用来控制键盘和滑鼠的套件 键盘控制 press(key) 按下再放开某键...
平衡灯 ( 姿势 ) 教学原文参考:平衡灯 ( 姿势 ) 这篇文章会介绍如何使用「当姿势发生」、「重...