返回顶部
首页 > 资讯 > 精选 >Vue中afterEach和beforeEach的区别有哪些
  • 672
分享到

Vue中afterEach和beforeEach的区别有哪些

2023-07-04 15:07:20 672人浏览 泡泡鱼
摘要

本篇内容介绍了“Vue中afterEach和beforeEach的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!路由写法 

本篇内容介绍了“Vue中afterEach和beforeEach的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

路由写法

 routes: [  {    path: '/cart',    name: 'cart',    component: cart,    meta :{ title: "购物车"}        //用于给定网页名  } ]

vue-router 的路由跳转的方法

第一种 : 编程式的导航

<router-link to="/" tag="p">耳机频道</router-link>//to是一个prop.指定需要跳转的路径,也可以使用v-bind动态设置//tag可以指定渲染成标签,默认是a标签<router-link to="/" replace>跳转回去</router-link>  //这样的写法是不会留下历史痕迹,回退键无效<router-link :to="{ name: 'product', params: { id : 1 }}">User</router-link>// /product/1

第二种 : 函数式的导航

//这里假设 我要跳转product页面并且附带参数id //这里定义好了list.id 就是 动态的值this.$router.push('./product/' + list.id)            // 字符串的方式进行描述this.$router.push({name : 'product',params: { id : list.id }})  // 命名的路由的方式进行描述this.$router.push({ path: `/product/${list.id}` })        // 直接定义path类似第一种//比较常用的跳转路由的方法//假如是带查询参数router.push({ path: 'product', query: { id: list.id }})      // /product?id=1

这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,则回到之前的 URL。

当你点击 <router-link> 时,这个方法会在内部调用,所以说,点击 <router-link :to="..."> 等同于调用 router.push(...)。

值得注意的一点是,如果提供了 path,params 的配置将不会生效

还有一些方法

router.replace   //它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录router.Go(1)    //在浏览器记录里面前进一步,等于history.forward()router.go(-1)    //后退一步记录,等同于 history.back()router.go(n)    //浏览器记录前进3步

现在说说正题 afterEach beforeEach这两个导航守卫的区别

正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的。

记住参数或查询的改变并不会触发进入/离开的导航守卫。

在全局守卫里面

beforeEach 全局前置守卫

当一个导航触发时,全局前置守卫按照创建顺序调用。

每个守卫方法接收三个参数:

•to: Route: 即将要进入的目标 路由对象
•from: Route: 当前导航正要离开的路由
•next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。

router.beforeEach((to, from, next) => {  console.log(to);  //即将要进入的路由对象  console.log(from); //当前导航要离开的路由对象   next();       //调用该方法,才能进入下一个钩子})//这样写就可以明显的看出每个参数的意义

next(): 进行管道中的下一个钩子。如果全部钩子执行完了,则导航的状态就是 confirmed (确认的)。

next(false): 中断当前的导航。如果浏览器的 URL 改变了 (可能是用户手动或者浏览器后退按钮),那么 URL 地址会重置到 from 路由对应的地址。

next('/') 或者 next({ path: '/' }): 跳转到一个不同的地址。当前的导航被中断,然后进行一个新的导航。你可以向 next 传递任意位置对象,且允许设置诸如 replace: true、name: 'home' 之类的选项以及任何用在 router-link 的 to prop 或 router.push 中的选项。

确保要调用 next 方法,否则钩子就不会被 resolved

afterEach 全局后置钩子router.afterEach((to, from) => { // ...})

然而和守卫不同的是,这些钩子不会接受 next 函数也不会改变导航本身

从使用的角度来说 前置钩子更加常用,比如登录验证 以及给Vue单页面引用规定网页名等等

router.beforeEach((to,from,next) => { if(to.meta.title) {  document.title = to.meta.title;  //在路由里面写入的meta里面的title字段 } next();})

为什么要使用Vue

Vue是一款友好的、多用途且高性能的javascript框架,使用vue可以创建可维护性和可测试性更强的代码库,Vue允许可以将一个网页分割成可复用的组件,每个组件都包含属于自己的htmlCSS、JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用vue。

“Vue中afterEach和beforeEach的区别有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Vue中afterEach和beforeEach的区别有哪些

本文链接: https://lsjlt.com/news/346060.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue中afterEach和beforeEach的区别有哪些
    本篇内容介绍了“Vue中afterEach和beforeEach的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!路由写法 ...
    99+
    2023-07-04
  • 关于Vue中的全局导航守卫(beforeEach、afterEach)
    目录全局导航守卫(beforeEach、afterEach)导航钩子有3个参数beforeEachafterEach全局导航守卫是干什么的?1.在router中的index.js文件...
    99+
    2024-04-02
  • vue-cli和vue有哪些区别
    这篇文章主要介绍“vue-cli和vue有哪些区别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue-cli和vue有哪些区别”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • vue中mvvm和mvc的区别有哪些
    这篇文章主要讲解了“vue中mvvm和mvc的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中mvvm和mvc的区别有哪些”吧! ...
    99+
    2024-04-02
  • jquery和vue中的ajax有哪些区别
    这篇文章主要介绍了jquery和vue中的ajax有哪些区别的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jquery和vue中的ajax有哪些区别文章都会有所收获,下面我们一...
    99+
    2024-04-02
  • vue中$route和$router的区别有哪些
    vue中$route和$router的区别:$router是路由实例,而$route为当前router跳转对象;$route包括path、params、hash、query、fullPath、matched、name等路由信息参数,而$ro...
    99+
    2024-04-02
  • vue中$router和$route的区别有哪些
    这篇文章主要介绍了vue中$router和$route的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我们在 vue 项目中一般都会用到路由,而 vue-route...
    99+
    2023-06-15
  • Vue中computed和watch的区别有哪些
    小编给大家分享一下Vue中computed和watch的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概述我们在 Vue 项目中多多少少都会有用到 co...
    99+
    2023-06-15
  • vue中go和back的区别有哪些
    这篇文章主要讲解了“vue中go和back的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue中go和back的区别有哪些”吧!vue中go和back的区别是:1、利用go()返...
    99+
    2023-06-29
  • vue中query和params的区别有哪些
    这篇“vue中query和params的区别有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue中query和para...
    99+
    2023-06-29
  • vue中history和hash的区别有哪些
    本篇内容主要讲解“vue中history和hash的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue中history和hash的区别有哪些”吧!区别:1、hash路由再地址栏URL...
    99+
    2023-06-29
  • vue和react中的diff有哪些区别
    这篇文章主要介绍“vue和react中的diff有哪些区别”,在日常操作中,相信很多人在vue和react中的diff有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue和react中的diff有哪...
    99+
    2023-06-29
  • vue中data和data()的区别有哪些
    小编给大家分享一下vue中data和data()的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!data和data()的区别Vue实例中data属性new Vue({  el:&nb...
    99+
    2023-06-29
  • Vue中prop和props的区别有哪些
    在Vue中,prop和props是两个不同的概念。1. prop:prop是Vue中用于父组件向子组件传递数据的方式。在子组件中,通...
    99+
    2023-08-20
    Vue
  • Vue和React的区别有哪些
    今天就跟大家聊聊有关Vue和React的区别有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。监听数据变化的实现原理不同Vue 通过 getter...
    99+
    2024-04-02
  • vue和echarts的区别有哪些
    小编给大家分享一下vue和echarts的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vue和echarts的区别:1、vue是一套用于构建用户界面的...
    99+
    2023-06-22
  • ssr和vue的区别有哪些
    这篇文章将为大家详细讲解有关ssr和vue的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。ssr和vue的区别是:ssr是在服务器将组件渲染成HTML字符串后返回,而vue是在客户端发送请求后,...
    99+
    2023-06-29
  • react和vue的区别有哪些
    这篇文章主要介绍了react和vue的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。区别:vue是双向绑定的,采用template;react是单向的,采用jsx。...
    99+
    2023-06-08
  • vue中mounted和created有哪些区别
    本篇内容介绍了“vue中mounted和created有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!区别:1、created在模板...
    99+
    2023-07-04
  • vue和laravel有哪些区别
    今天小编给大家分享一下vue和laravel有哪些区别的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作