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

相关文章

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

web网络安全之跨站脚本攻击(XSS)详解

《web网络安全之跨站脚本攻击(XSS)详解》:本文主要介绍web网络安全之跨站脚本攻击(XSS)的相关资料,跨站脚本攻击XSS是一种常见的Web安全漏洞,攻击者通过注入恶意脚本诱使用户执行,可能... 目录前言XSS 的类型1. 存储型 XSS(Stored XSS)示例:危害:2. 反射型 XSS(Re

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择