| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> Vue 的 keep-alive -> 正文阅读 |
|
[JavaScript知识库]Vue 的 keep-alive |
什么是 keep-alive??????? keep-alive顾名思义就是保持活跃。 ????????keep-alive是Vue的抽象组件,它自身不会渲染一个 DOM 元素,也不会出现在组件的父组件链中。 keep-alive 的作用???????? ??????? 当我们在切换组件时,被keep-alive包裹的组件会被缓存到内存中,防止重复地渲染DOM,减少不必要的请求。总的来说就是,主要用于保留组件状态或避免重新渲染(比如在组件的表单里填入数据,组件切换后数据任存在)。 keep-alive的原理??????? 在 created 函数调用时将需要缓存的 VNode 节点保存在 this.cache 中/在 render(页面渲染) 时,如果 VNode 的 name 符合缓存条件(可以用 include 以及 exclude 控制),则会从 this.cache 中取出之前缓存的 VNode 实例进行渲染。 ????????VNode:虚拟DOM,其实就是一个JS对象。 Props
include 和 exclude????????
??????? include 和 exclude 都是通过检查组件自身的 name 选项来匹配,若 name 选项不可用,则匹配它的局部注册名称 (父组件 ??????? 注意:匿名组件不能被匹配。 max????????max 定义缓存组件上限,超出上限使用LRU(最近最少使用)的策略置换缓存数据。 生命周期函数??????? 被 keep-alive 包裹的组件,其生命周期的钩子函数与一般的组件不相同,被缓存的组件实例不再进入$mount过程,那mounted之前的所有钩子函数(beforeCreate、created、mounted)都不再执行。 ????????被包含在 keep-alive 中创建的组件,会多出两个生命周期的钩子: activated 与 deactivated。 ????????使用 keep-alive 会将数据保留在内存中,如果要在每次进入页面的时候获取最新的数据,需要在 activated 阶段获取数据,承担原来 created 钩子函数中获取数据的任务。 activated??????? 当 keep-alive 组件被激活的时候调用 deactivated? ?????? 当 keep-alive 组件停用时调用 缓存所有页面? 在App.vue中使用 keep-alive
根据条件缓存页面
结合 Router,缓存部分页面数据在router目录下的index.js文件中,为每一个路由添加 meta 属性,在 meat 属性里再添加一个keepAlive 属性,用来控制是否缓存。
? 在 App.vue 里,使用 keepAlive 属性判断
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 13:20:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |