首页 > 其他分享 >Vue 系统组件 <KeepAlive> 简介

Vue 系统组件 <KeepAlive> 简介

时间:2022-09-19 14:36:05浏览次数:70  
标签:Vue 简介 用法 缓存 组件 exclude include 属性

<KeepAlive>

@说明:缓存被包裹的组件

先看段动态绑定组件代码:

<component :is="activeComponent"></component>

在上例代码中,随着组件的动态切换,旧的组件会被删除新的组件会被新建

这样带来一个问题,比如旧组件是一个表单,上面有我之前选择选项及录入的内容。如果我切回旧组件时,之前的录入将丢失

所以<KeepAlive>组件能解决这个问题,它会在切换组件时,缓存旧组件。代码如下:

<KeepAlive>
    <component :is="activeComponent"></component>
</KeepAlive>

 

一、当一个组件在 <KeepAlive> 中被切换时,它的 activated 和 deactivated 生命周期钩子将被调用

 

二、<KeepAlive> 组件属性:

<KeepAlive include = "" exclude = "" max = ""></KeepAlive>

 

 include 属性:

@说明:  [可选] 默认会缓存内部的所有组件实例,include可以指定要缓存的组件

用法一:用逗号分隔的字符串

<!-- 指定组件a,b被缓存 -->
<KeepAlive include="a,b">
  <component :is="view"></component>
</KeepAlive>

 

用法二:正则表达式

<!-- 指明组件 a和b被缓存 -->
<KeepAlive :include="/a|b/">
  <component :is="view"></component>
</KeepAlive>

 

用法三:数组

<!-- 指明组件 a和b被缓存 -->
<KeepAlive :include="['a', 'b']">
  <component :is="view"></component>
</KeepAlive>

 

 

exclude 属性:

@说明:  [可选] 指定的组件不会被缓存,它用法和include相同

 

 

max属性:

@说明: [可选] 最大缓存实例数

<KeepAlive :max="10">
  <component :is="view"></component>
</KeepAlive>

 

标签:Vue,简介,用法,缓存,组件,exclude,include,属性
From: https://www.cnblogs.com/wm218/p/16707536.html

相关文章

  • react-native 函数组件调用函数组件的方法
    xxxRef.current.你的方法()  ......
  • vue-router query和params 传参和接收参数
    1、params方式传递和接收参数//传参this.$router.push({name:'checkDetailInfo',params:{fkdNum:fkdNum,jyayStr:jyayStr,......
  • 决策树简介
    决策树简介决策树实际上是一个布尔函数,它的输出可以是“0或1”或“-1或+1”或“-1、0或+1”。决策树的大小等于其中存在的节点数,其深度等于从顶部到根的最长路径的......
  • vue中导出excel文件
    1、在src目录下创建一个目录vendor,放入Export2Excel.js2、安装相关组件npminstall-Sfile-saver 用来生成文件的web应用程序npminstall-Sxlsx 电子表格格......
  • 基于.NetCore + Quartz.Net + Vue + IView开箱即用的定时任务UI
    基于.NetCore+Quartz.Net+Vue+IView开箱即用的定时任务UI。不依赖数据库,只需在界面做简单配置。地址:https://github.com/cq-panda/Quartz.NetUI ......
  • slab着色区简介
    slab机制的简介表示如下图所示:slab内的结构如下图所示: 每个Slab的首部都有一个小小的区域是不用的,称为“着色区(coloringarea)”。着色区的大小使Slab中的每个对象......
  • 使用Vite快速构建Vue3+ts+pinia脚手架
    一、前言vue3的快速更新,很多IT发展快的地区在22开始都已经提上日程,小编所在的青岛好像最近才有点风波。vue3的人才在青岛还是比较稀缺的哈,纯属小编自己的看法,可能小编是个......
  • 基于electron+vue+element构建项目模板之【改造项目篇】
    1、概述开发平台OS:windows开发平台IDE:vscode上一篇中已完成了electron-vue项目的创建,本篇章中则介绍在此项目基础上进行取消devtools的安装、项目结构的改造、环境变量......
  • Vue 组件插槽
    默认插槽的定义与使用<!--组件test定义--><template><button><slot>提交</slot></button></template><!--父组件调用--><template>......
  • vue中循环table表格数据,可编辑的列表(新增、删除、修改)
    原文链接:https://blog.csdn.net/qq_24441205/article/details/1261426691.如何循环如下图table表格数据(注:emerResponseDetail为整个列表定义的数据对象)因"作业人员"为......