iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >关于Vue中keep-alive的作用及使用方法
  • 847
分享到

关于Vue中keep-alive的作用及使用方法

Vue中keep-alive使用Vue中keep-alive作用 2023-05-17 08:05:55 847人浏览 薄情痞子
摘要

目录一、概念:二、作用:三、属性四、使用场景五、使用方式:一、概念: keep-alive是Vue的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,该组件将不会销毁。 二、作用

一、概念:

keep-aliveVue的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,该组件将不会销毁。

二、作用:

用来缓存组件,避免多次加载相同的组件,减少性能消耗,提高用户体验。

三、属性

  • include:字符串正则表达式。只有匹配的组件会被缓存。
  • exclude:字符串或正则表达式。任何匹配的组件都不会被缓存。

四、使用场景

比如:有一个列表页面和一个详情页面,那么用户可能会经常执行打开详情 => 返回列表 => 打开详情,那么就可以对列表组件使用进行缓存,这样用户每次返回列表的时候,都能从缓存中快速渲染,而不是重新渲染页面,从而节省内存开销。

五、使用方式:

5.1. 在App.vue中使用keep-alive组件,来缓存所有页面

  <div id="app">
  	<keep-alive>
	    <header-bar></header-bar>
	    <div class="container">
	      <menu></menu>
	      <Main />
	    </div>
	    <footer-bar></footer-bar>
    </keep-alive>
  </div>

5.2. 按条件缓存,使用include,exclude判断是否缓存

5.2.1. 将缓存 name 为 keep的组件,如果有多个,可用逗号分

<keep-alive include='keep'>
  <router-view/>
</keep-alive>

5.2.2. 将不缓存 name 为 nokeep的组件

<keep-alive exclude='nokeep'>
  <router-view/>
</keep-alive>

5.2.3. 还可使用属性绑定动态判断

<keep-alive :include='includedFun'>
  <router-view/>
</keep-alive>

5.3. 在router目录下的index.js中,

5.3.1. 使用meta: { keepAlive = true }, 表示需要缓存

 const routes = [
  {
    path: '/',
    component: Home
  },
  {
    path:'/ login',
    component: Login
  },
   {
      path: '/list',
      component: List,
      meta: {
          isKeep: true
      }
   },
  {
      path: '/detail',
      component: Detail,
      meta:{
          isKeep: true
      }
  }
]

5.3.2. 在App.vue中进行判断

<div id="app">
    <keep-alive>
      <router-view v-if="$route.meta.isKeep"></router-view>
    </keep-alive>
    <router-view></router-view>
  </div>

到此这篇关于关于Vue中keep-alive的作用是什么?怎么使用?的文章就介绍到这了,更多相关Vue中keep-alive使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 关于Vue中keep-alive的作用及使用方法

本文链接: https://www.lsjlt.com/news/210949.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作