vue 钩子函数

目录

钩子函数概念

生命周期钩子函数

keep-alive 钩子函数

自定义指令的钩子函数

路由导航 / 路由守卫  钩子函数

全局守卫

路由独享守卫

导航守卫


钩子函数概念

在 vue 中可以自动执行的函数叫做钩子函数

生命周期钩子函数

vue 从实例创建到销毁过程中被自动执行的函数。

  1. beforeCreate()       实例创建前触发
  2. created()                实例创建完成,
  3. beforeMount()        模板渲染前,可以访问数据,模板编译完成,虚拟DOM已经存在
  4. mounted()              模板渲染完成,可以拿到DOM节点和数据
  5. beforeUpdate()      更新前
  6. updated()               更新完成
  7. beforeDestroy()  销毁前
  8. destroyed()    销毁后

keep-alive 钩子函数

keep-alive 保存组件状态
在路由或者动态组件中,页面用户填写的数据可能会随着页面的切换而丢失,因为在每次切换的时候 vue 都会创建一个新的组件实例。
keep-alive 用来保存组件切换的时候页面状态内容,使用 keep-alive 包裹的组件不会随着页面的切换而丢失,因为被 keep-alive 包裹的组件在切换的时候会被缓存起来,因此在切换的时候可以降低性能上的损耗

  1. activated:在进入被 keep-alive 管理的组件时触发
  2. deactivated:在离开被 keep-alive 管理的组件时触发

自定义指令的钩子函数

  1. bind:指令绑定到元素之上的时候触发 只执行一次
  2. unbind:指令被移出的时候触发  只执行一次
  3. update:所有节点更新的时候执行
  4. componentUpdate:指令所在节点以及所有子节点都更新完成的时候执行
  5. inserted:绑定指令的元素在页面展示的时候执行

路由导航 / 路由守卫  钩子函数

全局守卫

在所有页面跳转的时候都会触发

  • 全局前置守卫 beforeEach:在所有路由页面跳转之前触发

  • 全局后置守卫 afterEach:在所有路由页面跳转之后触发

//写在路由配置的最下边
// to  去哪里   
// from 从哪个路由来的
// next 下一步(必须要写  不写的话  就会卡在这个钩子中不想下进行了)
 
// 全局前置
router.beforeEach((to, from, next) => {
  if(to.path == "/phone" || to.path == "/shop"){
        next()
  }else{
    alert("您没有登录请您登录后再访问")
    next("/phone")
  }
})
// 全局后置
router.afterEach((to, from) => {
  console.log("全局后置守卫")
})
路由独享守卫

指定页面在跳转的时候触发

  • beforeEnter:只会对一个路由规则生效(写在那个规则之上  就对那个生效)
     {
        path: '/about',
        name: 'About',
        component: () => import('../views/About.vue'),
        // 路由独享守卫
        beforeEnter(to, from, next){
          console.log(to);
          console.log(from);
          next()
        }
      },
导航守卫

仅对某些组件在路由跳转的时候触发

  • beforeRouteEnter:进入组件的时候触发
  • beforeRouteLeave:离开组件的时候触发
// 进入组件
  beforeRouteEnter(to,from,next){
    console.log("我进来了")
    console.log(to)
    console.log(from)
    next()
  },
  beforeRouteLeave(to,from,next){
    console.log(to)
    console.log(from)
    if(confirm("您确定离开吗?")){
        next()
    }else{
      next(false)
    }
  },

广义上来说,watch、computed 这些也属于钩子函数

  • watch 是在监控的数据变化时就会自动执行对应的方法
  • computed是在数据变化时再次计算数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/556635.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

#LLM入门|RAG#3.5_基于文档的问答

大语言模型(LLM)构建的问答系统,通过整合用户文档,提供个性化和专业化回答。系统可检索内部文档或产品说明书,结合语言模型生成精准答案。 这种方法让语言模型利用外部文档专业信息,显著提升回答的质量和适…

RedHat9 KVM虚拟技术

以下有使用RedHat9单独的虚拟机也有使用RHEL9学员练习机和RHEL7学员练习机 KVM虚拟技术介绍 Linux的KVM(Kernel-based Virtual Machine)虚拟技术是一种基于Linux内核的虚拟化解决方案。它允许在单个物理服务器上创建和运行多个隔离的虚拟机,每个虚拟机都有自己的操作系统和…

常见嵌入式存储器学习

这里写目录标题 1. FPGA内部存储器1.1 RAM1.2 ROM 2. 外部存储器 1. FPGA内部存储器 1.1 RAM RAM即随机存取存储器(Random Acccess Memory),数据不是线性依次存储,可以自由指定地址进行数据读写。RAM掉电数据丢失,速…

Docker 镜像仓库常见命令

Docker Registry (镜像仓库) 常用命令 docker login 功能:登录到一个 Docker 镜像仓库,如果没有指定镜像仓库的地址,默认就是官方的 Docker Hub 仓库。 语法: docker login [options] [server]选项: -u:登…

java生成数据库数据到excel当做下拉选择,copy就完事~

背景:由于需要下载模板,模板包含下拉选择框,但是下拉选择框不想手写,并且需要从数据库读取,由于直接设置excel会有单元格最大255个字符长度限制,所以用到以下部分代码。 思路:由于数据模板在sh…

MySQL 的事务概念

事务概念 MySQL事务是一个或者多个的数据库操作,要么全部执行成功,要么全部失败回滚。 事务是通过事务日志来实现的,事务日志包括:redo log和undo log。 事务状态 事务有以下五种状态: 活动的部分提交的失败的中止的…

字母加密(C语言)

一、题目; 为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。例如,可以按以下规律将电文变成密码:将字母A变成字母E,a变成e,即变成其后的第4个字母,W…

可以与 FastAPI 不分伯仲的 Python 著名的 Web 框架

正如你所理解的,任何领域都不可能停止进步,不断使用相同的工具意味着不思进取。这一点在信息技术领域,尤其是网络开发行业非常明显。 关于网络框架,不论是 Django 和 Flask 等传统框架还是 Python 的新型高级框架,一直…

开源项目|使用go语言搭建高效的环信 IM Rest接口(附源码)

项目背景 环信 Server SDK 是对环信 IM REST API 的封装, 可以节省服务器端开发者对接环信 API 的时间,只需要配置自己的 App Key 相关信息即可使用。 环信目前提供java和PHP版本的Server SDK,此项目使用go语言对环信 IM REST API 进行封装…

B端:再探列表页,这20个组件能让列表页功能完备,体验过关。

有很多小伙伴反馈设计列表页的时候,好看是好看了,但是用户体验不佳,处理数据十分不方便,这样好看也就失去了意义,贝格前端工场分析这个原因大概率是没有用好列表页的组件,丢三落四的情况比较多导致的&#…

RK3588 Android13 鼠标风格自定义动态切换

前言 电视产品,客户提供了三套鼠标图标过来,要求替换系统中原有丑陋风格且要支持动态切换, 并且在 TvSetting 中要有菜单,客户说啥就是啥呗,开整。 效果图 test framework 部分修改文件清单 png 为鼠标风格资源图片,这里就不提供了,可自由找一个替换一下就行 framew…

「Word 论文排版」插入分节符导致word转PDF后出现空白页

问题 word转PDF后出现空白页 解决 但是此方法会让页面页脚标记出错 TODO 如下图所示 在论文目录后有一个分节符,转成PDF之后就多了一个空白页 文件-打印-页面设置-选中封面那一页-版式-从偶数页开始 再导出空白页就没了

旅游陪同翻译难吗, 旅游翻译英译中哪家好?

近来,随着中国旅游业的蓬勃发展,旅游陪同翻译的需求也水涨船高,这些专业的翻译服务者为中外游客搭建起友谊的桥梁,引领他们共同探索中国这片古老而神秘的土地 。那么,旅游陪同翻译英译中难吗?我们如何在众多…

iTwin Capture Modeler-23中文版下载地址及安装教程

文章目录 一、iTwin Capture Modeler23中文版安装教程二、iTwin Capture Modeler23中文版下载地址一、iTwin Capture Modeler23中文版安装教程 1. 解压安装包。订阅专栏(可获取专栏内所有文章阅读权限与软件安装包)后,从文末获取安装包解压,如下所示: 2. 右击安装包,选择以…

MQ技术选型

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题。它可以实现高性能、高可用、可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。 RabbitMQ 特点: RabbitMQ 相当轻量级的消息队列&#xff…

探索 2024 年促进业务发展的最佳定制 GPT

打造个性化客户体验: GPT模型在电子商务中的应用 介绍 在商业领域,人工智能(AI)的出现开创了创新和效率的新时代。 最具影响力的人工智能技术之一是自定义 GPT 模型。 本文探讨了自定义 GPT 模型如何显着促进各种业务运营。 自定义 GPT 模型的…

零售数据分析之补货表怎么做?

做零售数据分析,不仅要关注销售,还需要注意补货分析。通过补货分析了解不同商品要在什么时候进行补货,提前做好库存准备,以免出现补货不及时的失误。那么,零售数据分析中的补货表该怎么做?需要计算分析哪些…

Embedding例子:简单NN网络、迁移学习例子

一、简单例子:构造简单NN网络生成Embedding 1、pytorch例子 2、tensorflow例子 # 1导入模块 import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Embedding import numpy as np# 2构建语料库 corpus[[…

前端框架深度技术革新历程:从原生DOM操作到数据双向绑定、虚拟DOM等框架原理深度解析,Web开发与用户体验的共赢

前端的发展与前端框架的发展相辅相成,形成了相互驱动、共同演进的关系。前端技术的进步不仅催生了前端框架的产生,也为其发展提供了源源不断的动力。 前端的发展 前端,即Web前端,是指在创建Web应用程序或网站过程中负责用户界面…

爱普生无源晶体MC-146特点,应用介绍

爱普生的MC-146系列产品,应用广泛,如小的通讯社本,工业控制等等,几乎涉及各个领域。属于现阶段性价比非常不错的一个系列。晶体振荡器有很多种类,无源晶体其中最简单的一个类。在每个设计中,要用到非常多的…
最新文章