vue实践学习——keep-alive组件

2024-04-11 17:38

本文主要是介绍vue实践学习——keep-alive组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

情景:当你点开登录按钮进行登录时,已经输入用户名密码但是有部分选项忘记该填什么需要先离开查看一下,这时候,如果你通过vue提供的v-if控制每个页面的显示时,必然刚才所填的信息都会被重置为空,如果想要保持刚才的状态不变怎么办?keep-alive应运而生

  • vue官方文档解释

   当在这些组件之间切换的时候,你有时会想保持这些组件的状态,以避免反复重渲染导致的性能问题

  • 具体使用事例
<template><div class="hello"><keep-alive><loginC v-if="login"></loginC> //为了更好展示效果,我定义了一个登录的子组件<div v-else class="square"></div></keep-alive><button @click="Islogin">查看</button></div>
</template><script>
import loginC from './login/login'
export default {name: 'HelloWorld',components: {loginC: ()=> import('./login/login')},data () {return {login: true}},methods: {Islogin() {this.login = !this.loginconsole.log(this.login)}}
}
</script><!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.square {width: 200px;height: 200px;background-color: #ddd;margin: 0 auto;
}
button{width: 100px;height: 40px;background-color:#ddd;
}
</style>
  1. 效果图

     跑起来的效果                                                输入用户名                                 点击查看切换                  再点击查看回到登录

                     

     2.具体解释

     keep-alive:关键作用,接下来将会演示当没有这个组件会是什么差别,前后只有这一个差别

    3.不加keep-alive的演示

     

<template><div class="hello"><loginC v-if="login"></loginC><div v-else class="square"></div><button @click="Islogin">查看</button></div>
</template><script>
import loginC from './login/login'
export default {name: 'HelloWorld',components: {loginC: ()=> import('./login/login')},data () {return {login: true}},methods: {Islogin() {this.login = !this.loginconsole.log(this.login)}}
}
</script><!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.square {width: 200px;height: 200px;background-color: #ddd;margin: 0 auto;
}
button{width: 100px;height: 40px;background-color:#ddd;
}
</style>

  1.效果图

         跑起来的效果图                               输入用户名                                   点击查看切换                        再点击查看回到登录             

                

相信到这里你应该懂了也会用了~~~~~~

这篇关于vue实践学习——keep-alive组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/894745

相关文章

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Spring事务传播机制最佳实践

《Spring事务传播机制最佳实践》Spring的事务传播机制为我们提供了优雅的解决方案,本文将带您深入理解这一机制,掌握不同场景下的最佳实践,感兴趣的朋友一起看看吧... 目录1. 什么是事务传播行为2. Spring支持的七种事务传播行为2.1 REQUIRED(默认)2.2 SUPPORTS2

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

MySQL 中 ROW_NUMBER() 函数最佳实践

《MySQL中ROW_NUMBER()函数最佳实践》MySQL中ROW_NUMBER()函数,作为窗口函数为每行分配唯一连续序号,区别于RANK()和DENSE_RANK(),特别适合分页、去重... 目录mysql 中 ROW_NUMBER() 函数详解一、基础语法二、核心特点三、典型应用场景1. 数据分

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实