技术标签: 前端 vue.js javascript
keep-alive是Vue的内置组件,使用它包裹动态组件时,会缓存不活动的动态组件实例,而不是销毁他们。keep-alive 是一个抽象组件:它自身不会渲染成一个 DOM 元素,也不会出现在父组件链中。
kepp-alive不但可以包裹缓存动态组件,还可以包裹缓存页面内容。
如下图,我新建了3个组件,并把它渲染到页面上:
页面效果如下:
当我点击Live1,Live2,Live3时,三个组件之间会来回切换,并且显示的num值也会重新归零。
页面效果如下:
如果我们想在切换的时候,还保留组件的信息,这时就需要用到keep-alive。
下面我们再看效果。
这就实现了缓存不活动的组件实例。
我们再实际应用中,并不是需要缓存全部的组件,这时就需要用到keep-alive的白名单,黑名单,也就是keep-alive的include和exclude属性。
被加入黑名单的组件,就不会被缓存,相反的,被加入白名单的组件,就会被缓存。
keep-alive同样也能包裹缓存页面,在实际开发中,如我们现在开发了一个商品商城项目,首页的数据是不是经常不变的,这时就可以用keep-alive将首页包裹,减少加载时间及性能消耗,提高用户体验性。
使用方法基本与包裹动态组件相同。使用时只需将其包裹在页面路由外,同样也可以利用白名单和黑名单决定哪些需要被缓存,哪些不需要被缓存。
使用时在data同级的位置加上name:’’。
在组件切换过程中 把切换出去的组件保留在内存中,防止重复渲染DOM,减少加载时间及性能消耗,提高用户体验性。
被包含在 keep-alive 中创建的组件,会多出两个生命周期的钩子: activated(组件激活时使用) 与 deactivated(组价离开时调用)
文章浏览阅读334次,点赞4次,收藏7次。将当前节点的向量(self_vectors)与邻居节点的向量(neighbor_vectors)+邻居关系(neighbor_relations)+以及用户嵌入(user_embeddings)+act(激活函数)结合。在得分张量的最后添加一个维度,将其形状从 [batch_size, -1, n_neighbor] 调整为 [batch_size, -1, n_neighbor, 1]结果是一个形状为 [batch_size, -1, n_neighbor] 的张量,表示每个邻居对当前节点的重要性得分。_kgcn代码实现
文章浏览阅读9.8k次,点赞10次,收藏19次。**本篇文件介绍 音频PCM数据的单声道、双声道之间的转换。 PCM数据格式是平面型和非平面型。 一般情况下使用的都是非平面,结构都是左右左右左右。**下面介绍函数参数:一、MonoToStereo函数。 单声道转双声道 参数1:资源buffer(双声道数据) 参数2:资源buffer大小(双声道数据大小) 参数2:转换后buffer(单声道数据) 代码_双声道转单声道 c++
文章浏览阅读332次,点赞10次,收藏5次。1.背景介绍人工智能(Artificial Intelligence, AI)和智慧城市(Smart City)是当今世界最热门的话题之一。随着科技的发展,这两个领域在教育领域中也开始产生影响。本文将探讨人工智能与智慧城市如何改变教育,为我们提供了一种全新的学习体验。1.1 人工智能与教育的关系人工智能是一种计算机科学的分支,旨在创建智能体,即能够理解、学习和应对复杂任务的计算机程序。...
文章浏览阅读1.4k次。Home / 热门下载 /神器下载 / 正文更多44今天要推荐的神器来自http://froont.com/ ,猜猜它有神马强悍的功能呢?是滴,进入网站后,你就会看到他说:“原来还可以在浏览器里设计网页,仅仅只需要拖放即可!”Froont是一个允许设计师在线设计响应式网页的工具,不需要程序员介入的设计编程工具,为设计师们提供了可视化
文章浏览阅读167次。1:常见的字符介绍1:\ 转义字符 \n 匹配的就是换行 \ 匹配的是\ ( 匹配的是(。2 :^ 代表的是 开始符号 匹配字符的开始 或者正则表达式的开始。3: $ 代表的是 结束符号 匹配字符的结束 或者正则表达式的结束。4:* 代表的是匹配前面的字表达式零次或多次 zooo zo* 等价于 {0,}。5: + 代表的是匹配前面的字表达式一次..._jqzfz
文章浏览阅读97次。Android动态添加View的问题解决方法后台代码private void ChangeView(){ly.removeAllViews();LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);View layout = inflater.inflate(R.layout.grid..._android addview 源码
文章浏览阅读2.5k次。ThreadX中,有两个函数可以获取和设置内部系统时钟服务,tx_time_get 获取当前时间。tx_time_set 设置当前时间。tx_time_get获取当前时间。原型ULONG tx_time_get(VOID)描述这项服务用来返回当前的内部系统时钟。每个定时节拍使内部系统时钟加1。系统时钟在初始化时被设置为0,同样可以被tx_time_set服务_threadx如何确定系统时钟
文章浏览阅读115次。为什么80%的码农都做不了架构师?>>> ..._robbyrussell.zsh-theme:1: parse error near `<<<
文章浏览阅读562次。1引入七牛依赖<dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>[7.2.0, 7.2.99]</version></dependency>..._import com.qiniu.storage.model.defaultputpolicy;
文章浏览阅读3.1k次。system-view[~HUAWEI] sysname SwitchB[~HUAWEI] commit[~SwitchB] vlan batch 100[~SwitchB] interface vlanif 100[~SwitchB-Vlanif100] ip address 10.10.1.2 24[~SwitchB-Vlanif100] quit[~SwitchB] interface 10..._华为交换机配置ntp同步 csdn
文章浏览阅读2.4k次。之前安利过一款手机上运行Python的神器Termux,不过Termux的使用比较重,它实际是一款linux系统模拟器,安装好Termux后还要再安装python,并且是全命令行操作,一些读者使用起来有障碍。今天安利一款更友好的QPython。Qpython是一个Python引擎,只能运行在安卓系统上,相比Termux,它可以全图形界面操作,非常友好。内置了一个Python编辑器,可以直接在手机上..._termux的python与python有区别吗?
文章浏览阅读3.1k次。一:文件测试数据代码如下:#include &lt;cstdio&gt;#include &lt;algorithm&gt;#include &lt;iostream&gt;using namespace std;int main(){ freopen("in.txt","r",stdin); _acm文件输入csdn