web学习笔记(六十三)

2024-06-05 22:12
文章标签 学习 笔记 web 六十三

本文主要是介绍web学习笔记(六十三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.钩子函数onActivated和onDeactivated

1.1 onActivated

1.2 onDeactivated

2. KeepAlive补充

2.1 include 和 exclude

2.2 的作用是什么?

 2.3 组件包含什么prop属性及作用?

2.4 对应那两个生命周期?生命周期什么时机执行?

2.5 当缓存组件过多时如何将不需要的组件取消缓存。

3. transition动画组件

4.   transition组件使用animate.css动画库


1.钩子函数onActivated和onDeactivated

这两个函数需要搭配keepalive来使用,不能单独使用。

1.1 onActivated

调用时期为首次挂载时,以及每次从缓存中被重新插入时。

1.2 onDeactivated

调用时期为从dom上移除、进入缓存,以及组件卸载时。

2. KeepAlive补充

2.1 include 和 exclude

<KeepAlive> 默认会缓存内部的所有组件实例,但我们可以通过 include 和 exclude prop 来定制该行为。这两个 prop 的值都可以是一个以英文逗号分隔的字符串、一个正则表达式,或是包含这两种类型的一个数组:

<!-- 以英文逗号分隔的字符串 -->
<KeepAlive include="a,b"><component :is="view" />
</KeepAlive><!-- 正则表达式 (需使用 `v-bind`) -->
<KeepAlive :include="/a|b/"><component :is="view" />
</KeepAlive><!-- 数组 (需使用 `v-bind`) -->
<KeepAlive :include="['a', 'b']"><component :is="view" />
</KeepAlive>

它会根据组件的 name 选项进行匹配,所以组件如果想要条件性地被 KeepAlive 缓存,就必须显式声明一个 name 选项。但如果我们使用了setup语法糖,此时就不需要再声明name了,因为使用 <script setup> 的单文件组件会自动根据文件名生成对应的 name 选项,无需再手动声明。

2.2 <keepalive></keepalive>的作用是什么?

作用:缓存组件不被释放或销毁。

 2.3 <keep-alive></keep-alive>组件包含什么prop属性及作用?

包含属性:

include包含要缓存的组件name属性值。字符串写法、数组写法、正则写法

Exclude排除要缓存的组件name属性值。字符串写法、数组写法、正则写法

max 设置最大缓存数量,如果超出缓存最大数量的限制,vue会主动卸载最久没有被访问的实例,为新实例腾出缓存空间

2.4 对应那两个生命周期?生命周期什么时机执行?

生命周期:

onActivated: 在组件初始挂载时,以及缓存组件被激活时执行。

onDeactivated:在组件被卸载时,以及缓存组件失去激活时执行。

2.5 当缓存组件过多时如何将不需要的组件取消缓存。

如何取消缓存:

  1. 使用max属性,但是这个max属性无法手动指定要取消缓存的组件实例。
  2. 将include属性值定义为一个ref类型的响应式数组变量,通过手动对数组增删来控制要动态缓存或取消缓存的组件。

3. transition动画组件

  1. transition是vue内置的组件:主要是用于控制组件(包括公共组件和路由页面组件)在显示/隐藏时的动画效果。
  2. 搭配transition组件实现动画效果有三种途径:1.css帧动画;2.css过渡;3.第三方动画库Animate.css。
  3. <Transition> 仅支持单个元素或组件作为其插槽内容。如果内容是一个组件,这个组件必须仅有一个根元素。
  4. 凡是被transition标签包裹的元素都将自动获得六个类名,用来设置过渡效果。如果想给某个元素设置指定动画效果则可以为其设置name=nav,然后动画类名为nav-enter-from,此时对应的动画效果只有name名为nav的元素可以生效。

4.   transition组件使用animate.css动画库

(1)在集成终端输入npm i animate.css --save来安装对应的包文件

(2)在main.js文件中导入对应的动画库样式:import "animate.css"

(3)按照以下格式引用对应的类名就可以实现对应的动画效果。 

    <transition><divv-if="isshow"class="d1 d"enter-active-class="animate__animated animate__tada"leave-active-class="animate__animated animate__bounceOutRight"></div><div v-else class="d2 d"></div></transition>

这篇关于web学习笔记(六十三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Python使用Reflex构建现代Web应用的完全指南

《Python使用Reflex构建现代Web应用的完全指南》这篇文章为大家深入介绍了Reflex框架的设计理念,技术特性,项目结构,核心API,实际开发流程以及与其他框架的对比和部署建议,感兴趣的小伙... 目录什么是 ReFlex?为什么选择 Reflex?安装与环境配置构建你的第一个应用核心概念解析组件

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析