当前位置: 首页 > news >正文

vue学习-14vue的路由缓存组件以及activated和deactivated生命周期钩子

在Vue.js中,使用路由的内置特性来控制组件的缓存,以提高应用程序性能。默认情况下,Vue Router不会缓存组件,但你可以通过以下方式启用组件缓存:

<keep-alive> 组件:<keep-alive> 是Vue.js的内置组件,可以用来缓存被包裹的组件。你可以将需要缓存的组件包裹在<keep-alive> 标签内。例如:

<router-view><keep-alive><component-to-cache></component-to-cache></keep-alive>
</router-view>//也可以变成
<!-- 路由组件(缓存)标签,include属性指定要缓存路由的组件名(缓存单个路由) -->
<keep-alive include="News">
<!-- 路由显示标签 --><router-view></router-view>
</keep-alive>
<!-- 缓存多个路由组件 -->
<!-- <keep-alive :include="['News','Message']"><router-view></router-view>
</keep-alive> -->

在这个示例中,<component-to-cache> 组件会被缓存,当你导航到其他页面再返回时,它的状态将保持不变。这样的情况我们实际在项目开发中经常会碰到这样的需求,当我跳转到另一个页面的时候,我想要返回到跳转到之前的页面,就可以利用路由缓存组件来完成。

路由配置中启用缓存:你也可以在Vue Router的路由配置中为特定路由启用缓存。通过在路由对象中使用 meta 属性,你可以定义一个 keepAlive 属性来启用或禁用缓存。例如:

const routes = [{path: '/some-route',component: SomeComponent,meta: {keepAlive: true, // 启用缓存},},// 其他路由配置
];

在这种情况下,当导航到 /some-route 时,SomeComponent 组件将被缓存。

利用vue第12篇 中的Home.vue文件

<template><div><h2>Home组件内容</h2><div><ul class="nav nav-tabs"><li><router-link class="list-group-item" active-class="active" to="/home/news">News</router-link></li><li><router-link class="list-group-item" active-class="active" to="/home/message">Message</router-link></li></ul><!-- 路由组件(缓存)标签,include属性指定要缓存路由的组件名(缓存单个路由) --><keep-alive include="News"><!-- 路由显示标签 --><router-view></router-view></keep-alive><!-- 缓存多个路由组件 --><!-- <keep-alive :include="['News','Message']"><router-view></router-view></keep-alive> --></div></div>
</template><script>export default {name: 'Home'}
</script><style></style>

vue的activated和deactivated生命周期钩子

==“activated” ==和 ==“deactivated” ==是组件的生命周期钩子,用于管理组件在激活和停用时的行为。这些钩子通常与Vue组件的路由相关,用于处理路由切换时的特定操作。

activated钩子:当一个使用Vue Router的路由进入到包含该组件的路由时,activated钩子会被触发。这通常用于执行需要在组件激活时进行的操作,例如数据加载或动画启动。例如,你可以在activated钩子中加载组件所需的数据。

export default {activated() {// 在组件被激活时执行的代码},
}

deactivated钩子:当一个路由离开包含该组件的路由时,deactivated钩子会被触发。这通常用于执行需要在组件停用时进行的清理操作,例如取消订阅或释放资源。

export default {deactivated() {// 在组件被停用时执行的代码},
}

这些钩子允许你在路由切换时管理组件的状态和行为,以提供更好的用户体验。请注意,这些钩子只在使用Vue Router进行路由管理时才会生效,如果你没有使用Vue Router,这些钩子可能不会生效
News.vue

<template><ul><li :style="{opacity}">欢迎学习Vue</li><li>news001 <input type="text" value=""/></li><li>news002 <input type="text" value=""/></li><li>news003 <input type="text" value=""/></li></ul>
</template><script>export default {name:'News',data() {return {opacity:1}},// beforeDestroy(){//     console.log("News组件即将被销毁了!!!");//     clearInterval(this.timer);// },// mounted(){//     this.timer=setInterval(() => {//         console.log("@@@@@@");//         this.opacity-=0.01;//         if (this.opacity<=0) {//             this.opacity=1;//         }//     }, 16);// }activated(){//新的生命周期钩子函数是路由组件独有的(激活路由的意思)console.log("News组件被激活了!!!");this.timer=setInterval(() => {this.opacity-=0.01;if (this.opacity<=0) {this.opacity=1;}}, 16);},deactivated(){//路由组件独有的生命周期钩子函数(取消激活路由的意思)console.log("News组件失活了!!!");clearInterval(this.timer);}}
</script><style></style>

相关文章:

vue学习-14vue的路由缓存组件以及activated和deactivated生命周期钩子

在Vue.js中&#xff0c;使用路由的内置特性来控制组件的缓存&#xff0c;以提高应用程序性能。默认情况下&#xff0c;Vue Router不会缓存组件&#xff0c;但你可以通过以下方式启用组件缓存&#xff1a; <keep-alive> 组件&#xff1a;<keep-alive> 是Vue.js的内…...

【opencv】windows10下opencv4.8.0-cuda版本源码编译教程

【opencv】windows10下opencv4.8.0-cuda版本源码编译教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【opencv】windows10下opencv4.8.0-cuda版本源码编译教程前言准备工具cuda/cudnncmakeopencv4.5.0opencv_contrib CMake编译VS2019编译可…...

31 数据分析(中)numpy介绍

文章目录 工具excelTableauPower Queryjupytermatplotlibnumpy安装导入包快速掌握&#xff08;bushi&#xff09;array和list的相互转化 np的range多维数组的属性array的改变形状array升降维度array内元素的类型数和array的运算array之间的加减法认识轴切片条件与逻辑修改值app…...

华为OD机考算法题:字符串划分

题目部分 题目字符串划分难度难题目说明给定一个小写字母组成的字符串s&#xff0c;请找出字符串中两个不同位置的字符作为分割点&#xff0c;使得字符串分成的三个连续子串且子串权重相等&#xff0c;注意子串不包含分割点。 若能找到满足条件的两个分割点&#xff0c;请输出…...

AF_UNIX和127.0.0.1(AF_INET)回环地址写数据速度对比(二)

之前写了篇博客&#xff1a;AF_UNIX和127.0.0.1(AF_INET)回环地址写数据速度对比 然后利用的是发送端读取大文件&#xff0c;接收方接收并保存为文件的方式进行测试&#xff0c;结果发现&#xff0c;AF_UNIX并未比127.0.0.1(AF_INET)回环地址优秀&#xff0c;若单次发送的字节数…...

“Python+”集成技术高光谱遥感数据处理与机器学习教程

详情点击公众号链接&#xff1a;“Python”集成技术高光谱遥感数据处理与机器学习教程 第一&#xff1a;高光谱基础 一&#xff1a;高光谱遥感基本概念 01)高光谱遥感 02)光的波长 03)光谱分辨率 04)高光谱遥感的历史和发展 二&#xff1a;高光谱传感器与数据获取 01)高…...

centos7 快速搭建自测mysql环境 docker + mysql

环境准备 centos7快速搭建docker mysql docker镜像源配置 一般都是要配的不然太慢了&#xff0c;docker 1.12以上创建或修改 /etc/docker/daemon.json 文件&#xff0c;修改为如下形式: 地址替换国内源 {"registry-mirrors" : ["https://docker.mirrors.u…...

c++视觉检测-----Canny边缘算子

Canny边缘算子 cv::Canny()是OpenCV库中用于执行Canny边缘检测的函数。Canny边缘检测是一种广泛使用的图像处理技术&#xff0c;用于检测图像中的边缘。 以下是cv::Canny()函数的一般用法和参数&#xff1a; void cv::Canny(cv::InputArray image, // 输入图像&#x…...

机器学习笔记 - 用于动作识别的网络TSN/TSM/SlowFast/R(2+1)D/3D MobileNetV2

一、简述 动作识别是在视频序列中检测和分类人类动作的过程。 近年来,由于其广泛的应用,它已成为一项越来越重要的技术,例如监控、人机交互以及视频索引和检索。 特别是,动作识别对于无人驾驶飞行器 (UAV) 或无人机来说变得至关重要,因为它们越来越多地用于各种应用,例如…...

mybatis批量插入

一、定义DBExec import java.util.List;public abstract class DBExec<T> {public abstract void operate(List<T> list); }二、定义BatchDBService public interface BatchDBService<T> {void exec(int batchSize, List<T> list, DBExec<T> d…...

软件‘小程序‘前台开发软件定制的知识|app网站搭建

软件&#xff0c;小程序&#xff0c;前台开发软件定制的知识 随着互联网的快速发展&#xff0c;软件&#xff0c;小程序&#xff0c;前台开发软件定制已经成为了企业必备的工具。它可以帮助企业更好地管理业务&#xff0c;提高效率&#xff0c;增强用户体验。那么&#xff0c;什…...

HTML-注册页面

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册页面</title> </head> <body><from action"#" method"get"><table border"1" align&q…...

17.(开发工具篇Gitlab)如何在Gitlab配置ssh key

前言: Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置 一、git 配置 (1)打开 git 命令窗口 (2)配置用户名(填自己的姓名) git config --global user.name “chenbc” (3)配置用户邮箱(填自己的邮箱) git config …...

ArcGIS/GeoScene脚本:基于粒子群优化的支持向量机分类模型

参数输入 输出 栅格 预测为负类的概率 预测为正类的概率 二值化结果 评估结果 ROC曲线...

Python+Tkinter 图形化界面基础篇:添加图形和图像

PythonTkinter 图形化界面基础篇&#xff1a;添加图形和图像 引言添加图形元素步骤1&#xff1a;导入 Tkinter 步骤2&#xff1a;创建主窗口步骤3&#xff1a;创建 Canvas 步骤4&#xff1a;绘制图形 绘制线条 绘制矩形 绘制椭圆 绘制多边形 步骤5&#xff1a;启动主事件循环 显…...

前端js八股文大全

一、js的数据类型 值类型(基本类型)&#xff1a;数字(Number)、字符串&#xff08;String&#xff09;、布尔(Boolean)、对空&#xff08;Null&#xff09;、未定义&#xff08;Undefined&#xff09;、Symbol,大数值类型(BigInt) 引用数据类型&#xff1a;对象(Object)、数组…...

[环境]Ubuntu20.04安装Ceres

安装这么顺利我有点不适应&#xff0c;记录一下 注意安装的位置与层级关系 参考链接 知乎方案...

ruoyi 若依 前端vue npm install 运行vue前端

首次导入&#xff0c;需要先执行 npm install #进入到前端模块目录下 cd ruoyi-ui # 安装 npm install 启动后端项目 运行前端项目&#xff1a;运行成功后&#xff0c;会浏览器自动加载到前端首页&#xff08;或者 浏览器访问打印的两个地址&#xff09; # 运行 npm run dev 部…...

各大搜索引擎的User-Agent

各大搜索引擎的User-Agent baidu&#xff1a;Mozilla/5.0 (compatible; Baiduspider/2.0; http://www.baidu.com/search/spider.html) Google&#xff1a;Mozilla/5.0 (compatible; Googlebot/2.1; http://www.google.com/bot.html) Sogou&#xff1a;Sogou web spider/4.0(h…...

codesys【按钮】

1用于控制bool信号。 1声明全局变量 2绑定该变量 运行后&#xff0c;按钮就能控制这个bool变量了。 2按钮【自复位】 3按钮【锁位】...

利用AI改写工具,五个策略帮助论文查重率快速降至合规标准

嘿&#xff0c;大家好&#xff01;我是AI菌。今天咱们来聊聊一个让无数学生头疼的问题&#xff1a;论文重复率飙到30%以上怎么办&#xff1f;别慌&#xff0c;我这就分享5个实用降重技巧&#xff0c;帮你一次搞定&#xff0c;轻松压到合格线以下。这些方法都是我亲身试验过的&a…...

爬虫对抗:ZLibrary 反爬机制实战分析(第二版)

摘要&#xff1a; 本文从爬虫工程化角度&#xff0c;详细分析 ZLibrary 站点的常见反爬策略&#xff0c;包括 IP 限流、Cookie 校验、请求头检测、人机验证、接口签名等&#xff0c;并给出对应的 Python 实战对抗思路与代码示例。本文仅用于网络安全技术学习与反爬防护研究&…...

青少年软件编程等级考试C/C++ 1~8级历年真题解析与备考指南

1. 青少年软件编程等级考试概述 对于很多刚开始学习编程的青少年来说&#xff0c;青少年软件编程等级考试是一个检验学习成果的好机会。这个考试分为1~8级&#xff0c;从最基础的C/C语法到复杂的算法和数据结构&#xff0c;循序渐进地考察学生的编程能力。我当年第一次参加这个…...

ICEM高效建模技巧:从快捷键到多点创建模式

1. ICEM快捷键&#xff1a;让你的建模效率翻倍 刚开始用ICEM建模那会儿&#xff0c;我总被繁琐的鼠标操作折磨得够呛。直到有天发现隔壁工位的同事建模速度比我快三倍&#xff0c;偷师学艺才知道——原来快捷键才是真正的生产力神器。这里分享几个我每天必用的核心快捷键组合&a…...

ROS中tf2坐标系命名规范详解:为什么你的/world会报Invalid argument错误

ROS中tf2坐标系命名规范详解&#xff1a;为什么你的/world会报Invalid argument错误 在ROS机器人开发中&#xff0c;坐标系转换&#xff08;tf2&#xff09;系统是构建空间感知的核心基础设施。许多开发者第一次遇到Invalid argument "/world" passed to canTransfor…...

模型介导钓鱼:AI 助手被诱导生成钓鱼内容的机理与防御

摘要 随着 Microsoft 365 Copilot、Google Gemini for Workspace 等 AI 助手在企业办公场景的深度普及&#xff0c;一类依托提示注入实现的模型介导钓鱼&#xff08;Model-Mediated Phishing&#xff09; 攻击快速兴起。攻击者通过在正常邮件中嵌入低可见性恶意指令&#xff0c…...

FluentEmail 模板系统完全指南:从文件、嵌入资源到多文化模板

FluentEmail 模板系统完全指南&#xff1a;从文件、嵌入资源到多文化模板 【免费下载链接】FluentEmail All in one email sender for .NET. Supports popular senders (SendGrid, MailGun, etc) and Razor templates. 项目地址: https://gitcode.com/gh_mirrors/fl/FluentEm…...

dry插件系统解析:如何扩展自定义Docker管理功能

dry插件系统解析&#xff1a;如何扩展自定义Docker管理功能 【免费下载链接】dry moncho/dry: dry&#xff08;Docker Run Commands&#xff09;是一款命令行工具&#xff0c;旨在简化对Docker容器的操作管理&#xff0c;提供了一种简洁的方式创建、启动、停止和删除Docker容器…...

FOC算法中SIMULINK常用模块解析:从坐标变换到SVPWM(实践指南)

1. FOC算法与SIMULINK模块概述 第一次接触FOC&#xff08;磁场定向控制&#xff09;算法时&#xff0c;我被那些复杂的坐标变换搞得晕头转向。直到在SIMULINK里亲手搭建了完整的控制环路&#xff0c;才真正理解每个模块的作用。FOC算法的核心思想&#xff0c;简单来说就是把三相…...

PowerPaint-V1 Gradio 新手入门指南:3步搞定图片修复,小白也能变大神

PowerPaint-V1 Gradio 新手入门指南&#xff1a;3步搞定图片修复&#xff0c;小白也能变大神 1. 为什么选择PowerPaint-V1&#xff1f; 如果你经常需要处理图片中的瑕疵、水印或者想替换某些元素&#xff0c;PowerPaint-V1绝对是你的得力助手。这个由字节跳动与香港大学联合研…...