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

网站建设需要具备哪些知识seo博客是什么意思

网站建设需要具备哪些知识,seo博客是什么意思,wordpress自定义类型模板,公司简介网站怎么做在Vue 3中,路由守卫是一种控制和管理路由跳转的机制。它允许你在执行导航前后进行一些逻辑处理,比如权限验证、数据预取等,从而增强应用的安全性和效率。路由守卫分为几种不同的类型,每种类型的守卫都有其特定的应用场景。 其实路…

    在Vue 3中,路由守卫是一种控制和管理路由跳转的机制。它允许你在执行导航前后进行一些逻辑处理,比如权限验证、数据预取等,从而增强应用的安全性和效率。路由守卫分为几种不同的类型,每种类型的守卫都有其特定的应用场景。

    其实路由守卫跟生命周期的钩子函数有相似之处,都是在特定的时机执行特定函数 , 不过路由守卫主要关注的是路由级别的导航控制,而生命周期钩子则更侧重于组件自身的状态变化。

全局守卫

import { createRouter, createWebHistory } from 'vue-router';/ 全局前置守卫
router.beforeEach((to, from, next) => {// 执行权限验证等操作console.log('全局前置守卫');next();
});// 全局解析守卫
router.beforeResolve((to, from, next) => {// 执行某些操作console.log('全局解析守卫');next();
});// 全局后置守卫
router.afterEach((to, from) => {// 执行某些操作console.log('全局后置守卫');
});

  • 全局前置守卫 (beforeEach): 在路由跳转之前执行,在导航开始时最早被调用,通常用于权限验证或登录判断。
  • 全局解析守卫 (beforeResolve): 在导航被确认之前,所有组件内守卫和异步路由组件被解析之后调用。
  • 全局后置守卫 (afterEach): 在路由跳转后执行,常用于页面加载完成后的操作,比如页面标题的更新。

其中函数的参数中

to 与 from :  to指的是要导航到的组件,而from是从哪个组件来,to和from都是对象,可以从里面拿到路径,参数,等等一系列的数据

next : 一个函数,用于控制路由导航的流程

  • next():继续导航。
  • next(false):取消导航。
  • next({ path: '/new-path' }):传入对象,与to中写法类似。
  • next(new Error('Error message')):中断导航并传递错误。
  • next(vm => { ... }):在 beforeRouteEnter 中使用,获取组件实例。

路由独享守卫

  • 路由独享守卫 (beforeEnter): 在每次导航匹配到该路由时调用 ,只作用于某个具体的路由,可以在路由配置中定义,用于在特定路由进入前执行操作。
{path: '/person',name: 'person',component: person,beforeEnter: (to, from, next) => {// 路由进入前的操作console.log('路由独享守卫 person路由进入前的操作');next();}},

 

  独享守卫是在具体的某条路由规则里面配置的,因此需要写在规则中,且只有要路由到目标组件前时才触发 ,触发时机在beforeEach之后,beforeRouteEnter之前

组件内守卫

<script lang="ts" setup namespace="person">
import { onBeforeRouteLeave, onBeforeRouteUpdate } from 'vue-router';// 离开前守卫
onBeforeRouteLeave((to, from) => {console.log('组件路由离开前 beforeRouteLeave');
});// 依然是当前组件,但是参数更新,如params,query参数
onBeforeRouteUpdate((to, from) => {console.log('组件更新了Route updated');
});
</script><script lang="ts">
/*  这里请注意, vue3的setup,是组件创建时候的钩子因此在setup里面是写不了beforeRouteEnter的beforeRouteEnter是在导航进入该组件之前被调用的*/
import { defineComponent } from 'vue';
export default defineComponent({beforeRouteEnter(to, from, next) {console.log('组件路由进入前 beforeRouteEnter');next();}})</script>

路由进入有组件内路由守卫的组件

离开

在组件参数变化时候

  • beforeRouteEnter: 在路由进入前执行的操作,但在组件实例被创建之前调用,因此不能访问组件实例 , 也不能写在vue3的 setup标签内。
  • onBeforeRouteUpdate: 在路由更新时执行的操作,比如路由参数发生变化时。
  • onBeforeRouteLeave: 在路由离开前执行的操作,可以访问组件实例。

总结

守卫执行顺序

导航到了不同的组件,执行顺序如下:

1. from 的组件内守卫 beforeRouteLeave (如果配置了)

2.全局前置守卫

3.to 的路由独享守卫 (如果配置了)

4.to 的组件内守卫beforeRouteEnter (如果配置了)

5. 全局解析守卫

6.全局后置守卫

导航到了相同的组件,但是参数发生了变化执行顺序如下:

1.全局前置守卫

2.组件内守卫onBeforeRouteUpdater (如果配置了)

3. 全局解析守卫

4.全局后置守卫

注意点

  • 在使用路由守卫时,确保总是调用 next() 函数,除非你明确想要阻止导航。
  • 如果守卫中包含异步操作,确保在异步操作完成后再调用 next(),否则可能会导致路由被阻止。
  • 多个守卫函数会按照注册的顺序依次执行,afterEach 守卫会在所有守卫完成后执行。
http://www.wangmingla.cn/news/60918.html

相关文章:

  • 手机传奇网站模板下载谷歌推广效果好吗
  • 南宁营销型网站建设公司重庆网站搭建
  • 郑州网站排名公司外包
  • 招聘网站开发需要多长时间网络营销郑州优化推广公司
  • 十大网购平台班级优化大师官网登录
  • 海参企业网站怎么做seo推广计划
  • wordpress 移动 建站推广系统
  • 海淀区建设委员会网站济南seo的排名优化
  • 国内前十网站建设公司免费留电话号码的广告
  • 青岛专业网站建设定制软文推广发布
  • 焦作网站建设谷歌浏览器下载安装2021最新版
  • wordpress快讯优化营商环境条例解读
  • 卡盟自助网站建设网站如何优化
  • wordpress卡密插件广东优化疫情防控措施
  • 做网站用的做电商需要什么条件
  • 本地高端网站建设信息大全宁波网站关键词优化代码
  • 用凡科做的网站打不开厦门网站seo哪家好
  • 南通网站优化找哪家如何做好网络推广
  • 南昌做建网站的seo外链建设方法
  • 企业建设网站的案例公司推广方案
  • 重庆网站建设联系电话最近实时热点新闻事件
  • 如何做一份网站推广方案青岛优化网站关键词
  • 如何进入网站后台地址企业类网站有哪些例子
  • 佛山市企业网站seo营销工具nba西部最新排名
  • 济南网站建设_美叶网络百度推广后台登陆首页
  • 苏州保洁公司如何刷seo关键词排名
  • 西安做网站 怎样备案北海seo快速排名
  • 网站推广需要几个人做seo推广技术
  • 网站开发公司怎么接单百度金融
  • 做教育导航的网站上海网站建设公司