对keep-alive的理解是什么?

1.Keep-alive 是什么?

  • keep-alive 是 vue 中的内置组件,能在组件切换过程中将状态保留在内存中,防⽌重复渲染 DOM
  • keep-alive 包裹动态组件时,会缓存不活动的组件实例,⽽不是销毁它们
  • keep-alive 可以设置以下 props 属性:
    • include - 字符串或正则表达式。只有名称匹配的组件会被缓存
    • exclude - 字符串或正则表达式。任何名称匹配的组件都不会被缓存
    • max - 数字。最多可以缓存多少组件实例
<template>
  <div id="app">
    <div id="nav">
      <router-link to="/">Home</router-link>|
      <router-link to="/about">About</router-link>
    </div>
    <keep-alive include="Home" exclude="About">
      <router-view></router-view>
    </keep-alive>
  </div>
</template>

<style>
</style>

设置了keep-alive 缓存的组件,会多出两个⽣命周期钩⼦( activated 与 deactivated )

2.使用场景

使⽤原则:当我们在某些场景下不需要让⻚⾯重新加载时我们可以使⽤ keep-alive

举个栗⼦:

  • 当我们从 ⾸⻚ –> 列表⻚ –> 商详⻚ –> 再返回 ,这时候列表⻚应该是需要 keep-alive
  • 从 ⾸⻚ –> 列表⻚ –> 商详⻚ –> 返回到列表⻚(需要缓存) –> 返回到⾸⻚(需要缓存) –> 再次进⼊列表⻚(不需 要缓存)

这时候可以按需来控制⻚⾯的 keep-alive 在路由中设置 keepAlive 属性判断是否需要缓存;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值